GitLab-CI Multi Runner php composer cache

Arm*_* P. 21 php gitlab composer-php docker gitlab-ci-runner

我正在使用带有docker容器的gitlab-ci-multi-runner.一切都很顺利,但是docker容器没有保留composer缓存,所以在每次运行中composer一次又一次地下载依赖关系,这需要花费很多时间.有没有办法配置gitlab-ci-runnerdocker容器来保持composer缓存或在保存缓存的每次运行中挂载卷composer

Bro*_*ary 37

您可以通过COMPOSER_CACHE_DIR流动配置文件中导出环境变量来更改composer缓存路径,然后在该[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"
Run Code Online (Sandbox Code Playgroud)