docker — GitLab-CI Multi Runner кэш php композитора

Я использую gitlab-ci-multi-runner с докерными контейнерами. Все идет хорошо, но докеры не сохраняют composer кеш так в каждом прогоне composer загружает зависимости снова и снова, что занимает много времени. Есть ли способ настроить gitlab-ci-runner Докер контейнер, чтобы сохранить composer кэшировать или монтировать том при каждом запуске, где composer кеш хранится?

20

Решение

Вы можете изменить путь кеша композитора и записать материал в том докера.

Это хранилище является постоянным и может совместно использоваться между контейнерами.

Реферирование:

8

Другие решения

Вы можете изменить путь к кэшу компоновщика, экспортировав COMPOSER_CACHE_DIR переменная окружения в вашем конфигурация бегуна файл, а затем добавьте том в [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"
35