我正在使用带有docker容器的gitlab-ci-multi-runner。一切都很顺利,但是docker容器没有保留composer
缓存,所以在每次运行composer
时一次又一次地下载依赖关系,这需要花费很多时间。是否有任何方法可以配置gitlab-ci-runner
docker容器以保留composer
缓存或在保留composer
缓存的每次运行中装入卷?
答案 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卷。
该存储是持久存储的,可以跨容器共享。
引用: