GitLab-CI Multi Runner php composer cache

时间:2015-11-02 14:10:42

标签: php docker composer-php gitlab gitlab-ci-runner

我正在使用带有docker容器的gitlab-ci-multi-runner。一切都很顺利,但是docker容器没有保留composer缓存,所以在每次运行composer时一次又一次地下载依赖关系,这需要花费很多时间。是否有任何方法可以配置gitlab-ci-runner docker容器以保留composer缓存或在保留composer缓存的每次运行中装入卷?

2 个答案:

答案 0 :(得分:35)

您可以通过导出COMPOSER_CACHE_DIR文件中的runner configuration环境变量来更改编辑器缓存路径,然后在[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"

答案 1 :(得分:8)

您可以修改编写器缓存路径并将内容写入docker卷。

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

引用: