В интернете полно жалоб на то, что Gitlab не кеширует, но в моем случае я думаю, что Gitlab CI действительно кеширует правильно. Дело в том, что npm, похоже, все равно устанавливает заново.
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- vendor/
- bootstrap/
- node_modules/
build-dependencies:
image: ...
stage: build
script:
- cp .env.gitlab-testing .env
- composer install --no-progress --no-interaction
- php artisan key:generate
- npm install
- npm run prod
- npm run prod
artifacts:
paths:
- vendor/
- bootstrap/
- node_modules/
- .env
- public/mix-manifest.json
tags:
- docker
Это мой файл gitlab-ci.yml (ну ... соответствующая часть). Пока используются кэшированные зависимости компоновщика, node_modules - нет. Я даже добавил все в кеш и артефактов из отчаяния.