问题:
先回答第三个问题——
这是另一篇有帮助的文章 - https://jfrog.com/blog/why-goproxy-matters-and-which-to-pick/。有两种方法可以将私有 go 模块发布到 Artifactory。第一种是传统方式,即通过 JFrog CLI,这在另一篇文章中进行了重点介绍。
另一种方法是将远程存储库指向私有 GitHub 存储库。最近添加了此功能。在这种情况下,虚拟存储库将有两个遥控器。第一个远程存储库默认为GoCenter,通过它获取公共 go 模块。第二个远程存储库指向私有 VCS 系统。
将 GOPROXY 设置为仅虚拟 go 模块存储库将确保 Artifactory 继续成为公共和私有 go 模块的真实来源。如果您想存储编译后的 go 二进制文件,可以使用本地通用存储库,但建议使用自定义布局来构建通用存储库的内容。
回答前 2 个问题 -
Go module 是 Golang 中的包管理器,类似于 Java 中的 maven。在 Artifactory 中,对于每个 go 模块,每个 go 模块版本都有 3 个文件:go.mod、.info 和存档文件。
Artifactory 遵循 GOPROXY 协议,因此 go.mod 中提到的依赖项将自动从虚拟存储库中获取。这也将包括存档文件,它是包(源文件)的集合。
由于 GoSumDB 请求被缓存,因此还为公共 go 模块存储了额外的元数据,例如切片和查找请求,以确保即使在气隙环境中,Artifactory 仍然是模块和元数据的真实来源。
| 归档时间: |
|
| 查看次数: |
7622 次 |
| 最近记录: |