21

我将 gitlab-ci-multi-runner 与 docker 容器一起使用。一切都很好,但是 docker 容器不会保留composer缓存,因此在每次运行时都会composer一次又一次地下载依赖项,这需要很多时间。有什么方法可以配置gitlab-ci-runnerdocker 容器以保留composer缓存或在每次运行composer保存缓存的位置挂载一个卷?

4

2 回答 2

37

您可以通过在运行器配置COMPOSER_CACHE_DIR文件中导出环境变量来更改作曲家缓存路径,然后在该部分中添加一个卷以匹配它。[runners.docker]

如果您以 root 身份或使用 sudo 运行 gitlab-runner,那么您的配置文件位于/etc/gitlab-runner/config.toml. 否则它位于$HOME/.gitlab-runner/config.toml.

# config.toml

[[runners]]
  name = "Generic Docker Runner"
  ...
  environment = ["COMPOSER_CACHE_DIR=/cache"]
  executor = "docker"
  [runners.docker]
    ...
    volumes = ["/var/cache:/cache:rw"]
    cache_dir = "/cache"
于 2016-01-24T23:18:15.207 回答
8

您可以修改作曲家缓存路径并将内容写入 docker 卷。

该存储是持久的,可以跨容器共享。

参考:

于 2015-11-02T15:13:33.997 回答