gitlab-ci中的全局GOPATH

时间:2016-06-13 09:43:29

标签: go gitlab-ci gitlab-ci-runner

我们正在gitlab ci上构建几个GO项目,我们面临以下两难困境。

使用全局 GOPATH构建项目时(如在本地计算机上),构建需要很长时间,因为每次构建都会获取所有依赖项。

另一方面,当定义本地GOPATH并缓存go get创建的文件夹时,我们得到了快速构建,但项目设置很笨拙,项目本身不在GOPATH等...

如果有全局缓存会很好,但gitlab-ci不允许这样做:

  

警告:/build/src/git.my.repo:不支持:外部构建目录

1 个答案:

答案 0 :(得分:1)

我同意@Kaedys的观点。如果您使用vendored依赖项并缓存了vendor目录,则不必为每个构建获取它们。如果你还没有出售,那么就有少数tools to help you

我也见过当地的GOPATH工作。我不确定你是如何实现它的,但是你可以看看here for an example如何实现它。它们有一个本地环境,可以在目录中将GOPATH设置为项目目录。