gitlab 中的全局路径 -ci

Global GOPATH in gitlab-ci

我们正在我们的 gitlab ci 上构建几个 GO 项目,我们有以下困境。

当使用 global GOPATH 构建项目时(就像在本地机器上一样),构建花费的时间太长,因为在每次构建时都会获取所有依赖项ci。

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

如果有全局缓存就好了,但是 gitlab-ci 不允许这样:

WARNING: /build/src/git.my.repo: not supported: outside build directory

在这一点上我同意@Kaedys。如果你使用 vendored 依赖项并缓存你的 vendor 目录,你就不必为每个构建获取它们。如果您还没有销售,那么已经有一些 tools to help you

我也看到了本地 GOPATH 的工作。我不确定您是如何实施的,但您可以看一下 here for an example 如何实施。他们有一个本地环境,在目录中时将 GOPATH 设置为项目目录。