GitLab-CI Multi Runner php 作曲家缓存

GitLab-CI Multi Runner php composer cache

我正在使用带有 docker 容器的 gitlab-ci-multi-运行ner。一切都很好,但是 docker 容器不保留 composer 缓存,所以在每个 运行 composer 一次又一次地下载依赖项 cies,这需要很多时间。有什么方法可以配置 gitlab-ci-runner docker 容器以保留 composer 缓存或在保留 composer 缓存的每个 运行 上安装一个卷?

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

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

引用:

您可以通过导出 COMPOSER_CACHE_DIR environment variable in your runner configuration file, and then add a volume in the [runners.docker] 部分来匹配作曲家缓存路径。

如果您 运行 gitlab-runner 作为 root 或使用 sudo,那么您的配置文件位于 /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"