Dockerコンテナでgitlab-ci-multi-runnerを使用しています。すべてが順調に進んでいますが、Dockerコンテナはcomposer
キャッシュを保持しないため、実行のたびにcomposer
は依存関係を何度もダウンロードしますが、これには多くの時間がかかります。 composer
キャッシュを保持するようにgitlab-ci-runner
dockerコンテナーを構成する方法、またはcomposer
キャッシュが保持される各実行でボリュームをマウントする方法はありますか?
composerキャッシュパスを変更して、Dockerボリュームに書き込むことができます。
そのストレージは永続的であり、コンテナー間で共有できます。
参照:
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"