需要Go注册表

自从八年前在Google成立以来,Go就已经成为当今开发人员和DevOps使用的最受欢迎的语言之一,以至于它被用来设计和编写Helm和Kubernetes。 该项目在2017年对6,000多名受访者进行的调查显示,有67%的开发人员使用Go进行编程。 他们中大多数人对Go的专业知识的排名高于对Javascript,Python,Java,C,Bash或C ++的专业知识,并且与其他任何语言相比,他们更喜欢Go编程。 但是,尽管如此流行和使用,但与Go软件包一起使用的设施却落后了。
Go生态系统中缺少的是标准化-没有用于依赖性管理的标准工具,也没有标准的软件包格式或兼容的注册表规范。 这意味着开发人员无法使用Go创建可复制的内部版本,这是一个很大的问题。 多年以来,诸如dep,godep,glide和govendor之类的工具进入了处理Go依赖管理的领域,但是没有一个为在内部Go注册表中管理不可变的Go软件包或为远程设置Go代理提供了可接受的解决方案。去包。 好消息是,Google最终通过添加对vgo的Go版本支持,一劳永逸地解决了该问题。
Vgo是针对Go提出的官方标准依赖项管理工具和注册表规范。 虽然尚未包含在官方的Go工具集中,但它准备成为随每个Go版本一起分发的标准依赖项管理器。
Artifactory Go注册中心和代理
Artifactory 5.11的最新版本增加了对与vgo兼容的Go注册表(和go代理)的支持,从而在使用Go开发时为社区提供了多种功能。 这里只是其中一些:
- Artifactory中的本地存储库使您可以设置安全的私有Go注册中心,并根据项目或开发团队对软件包进行细粒度的访问控制。
- Artifactory中的远程存储库是远程Go资源(例如GitHub项目)的缓存代理。 通过Artifactory访问go代理可以删除您对网络或GitHub的依赖,因为Go构建所需的所有依赖关系都缓存在Artifactory中,因此可以在本地使用。 这还消除了某些人从版本控制中更改或删除依赖项的风险,或者更糟的是,将更改强制推向远程Git标签,从而更改了应为不可变版本的内容,这会给从属项目带来很多混乱和不稳定。
- 虚拟存储库聚集了本地和远程Go注册表,使您可以从单个URL访问构建所需的所有Go资源,从而隐藏了将本地和远程资源结合使用的复杂性。
- 企业级功能
- 多层安全性,可管理身份验证,访问控制和数据隐私
- 支持大量的可扩展性,无论是在用户数量上还是在存储Go软件包的数量上
- 高可用性,适用于极其坚固的安装
- 通过多种存储库复制功能支持任何多站点拓扑
使用JFrog CLI和Vgo构建Go项目
JFrog的Go解决方案填补了vgo CLI当前存在的一些空白。 JFrog CLI包装了vgo并通过简单的命令添加了附加功能,例如:
jfrog rt去构建
和
jfrog rt发布
您可以在通过Artifactory解决依赖性的同时构建Go项目,然后将生成的Go程序包发布到Artifactory中安全,私有的Go注册表(即本地Go存储库)中。
你知道吗?
在JFrog,我们是Go的忠实信徒,JFrog CLI和JFrog Xray都是用Go编写的。
随着Go和vgo的发展,Artifactory也将随之发展
随着vgo的不断发展,JFrog Artifactory和JFrog CLI也将继续保持对Go开发社区的高水平支持。