小厂内部私有Go module拉取方案3
💡
原文中文,约11100字,阅读约需27分钟。
📝
内容提要
本文介绍了一种新的拉取私有Go module的方案,可以不使用统一的内部go proxy,而是直接从内部的自建vcs server上拉取private module,需要将对应的域名加入到GOPRIVATE中,以提高获取效率。Go官方也还会继续改进对private module拉取的支持。
🎯
关键要点
-
本文介绍了一种新的拉取私有Go module的方案,直接从自建vcs server上拉取private module。
-
需要将对应的域名加入到GOPRIVATE中,以提高获取效率。
-
提案的核心是扩展go mod的replace语法,支持remote的vcs仓库。
-
当前go.mod的replace指示符语法支持两种target:module path和本地文件系统路径。
-
通过直连方式拉取内部vcs server的private module,无需使用统一的内部go proxy。
-
方案的确认试验包括拉取三种类型的private module,分别是内部gitlab、github上的私有module。
-
在拉取github上的私有module时,需要配置.gitconfig或.netrc以解决鉴权问题。
-
该方案仍有不足之处,主要是replacement version的获取方式较为复杂。
-
Go官方将继续改进对private module拉取的支持,相关issue可供跟踪。
➡️