优链依赖 mod 改造的问题
直接进行 mod 改造的问题
- 无法确定代码是否可以可靠执行,需要覆盖率 100% 的测试
- 即使改用 mod 方式引用依赖,依赖包也不敢轻易升级,升级后的问题同 1
另一种改造方式 - 使用自建依赖
将目前 vender 下的依赖包,上传到自建的仓库目录下,比如将对 1 的引用,改为 2
github.com/tikv/tikvgithub.com/umfintech/tikv/tikv
然后代码中全局替换依赖引入的包。
这样做的好处:
- 可以完全相信代码运行没有问题
- 依赖库不会丢失,因为是自己管理
代码安全问题:
- 使用公开但私有仓库
- 使用内网自建仓库
(其实依赖库有什么可保密的……)
对比:
- 使用公开仓库最省事
- 使用私有或内网仓库需要折腾一下
Golang 自定义依赖库的问题
参考链接: https://stackoverflow.com/questions/53516358/go-modules-private-repos-and-gopath
待测试是否可行。
(1)
使用 自建仓库。 做法参考参考链接。
(2)
go help importpath
Go 语言默认支持 GitHub 作为仓库。如果要使用私有仓库,可以生成 token 后使用。做法参考参考链接。
(3)
将本地 hosts 文件中,对 github.com 的解析指定到我们自己的域名上……这种做法比较奇怪。
待测试可行性。