2015-11-02 46 views
18

我使用gitlab-ci-multi-runner与码头集装箱。一切都很顺利,但码头集装箱不保留composer缓存,所以在每次运行composer一次又一次地下载依赖关系,这需要很多时间。有没有什么办法可以配置gitlab-ci-runner码头容器来保留composer缓存,或者在保存有composer缓存的每次运行时装入一个卷?GitLab-CI多亚军PHP作曲家缓存

回答

30

你可以在你的runner configuration文件导出COMPOSER_CACHE_DIR环境变量改变作曲家缓存路径,然后在[runners.docker]部分添加卷以匹配它。

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

# config.toml 

[[runners]] 
    name = "Generic PHP Test Runner" 
    ... 
    environment = ["COMPOSER_CACHE_DIR=/cache"] 
    executor = "docker" 
    [runners.docker] 
    ... 
    volumes = ["/var/cache:/cache:rw"] 
    cache_dir = "/cache" 
+0

作品一种享受,谢谢!看到这些软件包一次又一次的下载变得非常刺激。 – PJP