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 设置为项目目录。
我们正在我们的 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 设置为项目目录。