目前,我们在src/vendor
中拥有所有托管库,这使得docker-compose build
非常快。尽管将源代码库添加到源代码控制中,但是库的缺点是不会更新库,并且还会严重污染拉取请求的差异。
介于两者之间,可能还有缓存吗?
答案 0 :(得分:3)
介于两者之间,可能还有缓存吗?
是的,好几个。但是不要与系统/首选方法作斗争。
像你一直在使用$GOPATH/src/MyProject/vendor
。
将已销售的库添加到源代码管理中会导致库无法更新...
这一切都取决于您的团队对您的回购管理。如果每个人都忽略了供应商,那么它会变得陈旧。
就我个人而言,我认为这是“每月第一”的习惯,通过并刷新所有依赖项,运行我们的测试套件,如果没有错误更新,以便在开发服务器上进行QA集成测试,并密切关注错误日志发布。像godep
和gostatus
这样的工具极大地帮助您将最新的GOPATH保存在chrcn中,您可以快速更新供应商文件夹。
只需确保它是专用提交,因此如果出现问题,可以匆忙恢复。
也严重污染拉动请求的差异
首先,这只是一个流程任务。我对所有pull请求强制执行rebased并拒绝所有repos中的所有合并。这保持了一个非常干净的git历史;但是,更重要的是,rebasing会移动您的本地提交,直到供应商更新为止。除非有人添加相同的包,否则不应该发生冲突。在那一点上很容易,只需要采取最新的一个并完成。
听起来有问题需要处理,而不是担心/供应商管理。