使用Docker构建Quick Go项目而无需检入供应商库

时间:2016-05-18 09:13:39

标签: go docker docker-compose

目前,我们在src/vendor中拥有所有托管库,这使得docker-compose build非常快。尽管将源代码库添加到源代码控制中,但是库的缺点是不会更新库,并且还会严重污染拉取请求的差异。

介于两者之间,可能还有缓存吗?

1 个答案:

答案 0 :(得分:3)

  

介于两者之间,可能还有缓存吗?

是的,好几个。但是不要与系统/首选方法作斗争。

像你一直在使用$GOPATH/src/MyProject/vendor

  

将已销售的库添加到源代码管理中会导致库无法更新...

这一切都取决于您的团队对您的回购管理。如果每个人都忽略了供应商,那么它会变得陈旧。

就我个人而言,我认为这是“每月第一”的习惯,通过并刷新所有依赖项,运行我们的测试套件,如果没有错误更新,以便在开发服务器上进行QA集成测试,并密切关注错误日志发布。像godepgostatus这样的工具极大地帮助您将最新的GOPATH保存在chrcn中,您可以快速更新供应商文件夹。

只需确保它是专用提交,因此如果出现问题,可以匆忙恢复。

  

也严重污染拉动请求的差异

首先,这只是一个流程任务。我对所有pull请求强制执行rebased并拒绝所有repos中的所有合并。这保持了一个非常干净的git历史;但是,更重要的是,rebasing会移动您的本地提交,直到供应商更新为止。除非有人添加相同的包,否则不应该发生冲突。在那一点上很容易,只需要采取最新的一个并完成。

听起来有问题需要处理,而不是担心/供应商管理。