Я использую Gitlab CI для выполнения задач по линтингу и тестированию в PHP-приложении, и большую часть времени занимает установка пакетов Composer.
Поскольку у нас есть несколько конвейеров в час, это составило огромную пропускную способность (и время), потерянную для композитора, просто загружающего много кода отовсюду.
Мы начали изучать кэширование зависимостейв gitlab ci, но обычно он просто загружает одни и те же вещи снова и снова.Есть ли способ разделить кэши между конвейерами на основе хеша composer.lock?
Мы используем сервер gitlab DigitalOcean в один клик.
Мы уже пытались использовать эти настройки, но безуспешно.
variables:
COMPOSER_CACHE_SHA1: "sha1sum composer.lock"
cache:
key: "eval $COMPOSER_CACHE_SHA1"
variables:
COMPOSER_CACHE_SHA1: sha1sum composer.lock
# Cache libraries in between jobs
cache:
key: "$COMPOSER_CACHE_SHA1"
cache:
key: "$(sha1sum composer.lock)"
Все, что мы пробовали выше, просто кеширует, используя вариант команды вместо вывода командыкоманда.