Я использую gitlab-ci-multi-runner с контейнерами для докеров. Все идет хорошо, но контейнеры докеров не хранят кеш composer
, поэтому в каждом запуске composer
загружает зависимости снова и снова, что занимает много времени. Есть ли способ настроить контейнер gitlab-ci-runner
docker для хранения кеша composer
или монтировать тома в каждом прогоне, где хранится кеш composer
?
GitLab-CI Multi Runner php композитный кеш
Ответ 1
Вы можете изменить путь к кешу композитора и записать материал на том докеры.
Это хранилище является постоянным и может быть разделено между контейнерами.
Реферирование:
Ответ 2
Вы можете изменить путь кэша композитора, экспортировав переменную среды COMPOSER_CACHE_DIR
в runner configuration, а затем добавьте том в разделе [runners.docker]
для его соответствия.
Если вы запустите gitlab-runner как root или sudo, ваш файл конфигурации находится в /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"