Я хочу запустить непрерывное развертывание для моего приложения Express API и React, хранящегося в одном репо, с использованием Gitlab CI. Я использую оболочку исполнителя.
Это моя структура каталогов
/server
/client
.gitlab-ci.yml
Моя конфигурация выглядит так:
stages:
- deploy
server:
stage: deploy
script:
- npm run start
- forever restartall
only:
refs:
- staging
changes:
- server/
client:
script:
- npm run build --prefix ./client
stage: deploy
only:
refs:
- staging
changes:
- client/
Но когда клиентское задание выполняется, оно очищает node_modules папки сервера, что приводит к сбою сервера.
Мне нужен способ сохранения node_modules. Или любым другим способом я могу создать сервер и клиент вместе, используя Gitlab CI / CD.
Вам необходимо определить папки, которые вы хотите сохранить на каждом этапе:
server:
stage: deploy
script:
- ....
artifacts:
paths:
- node_modules/
- bower/
- ....
Все артефакты будут перенесены с одного этапа на другой. См. https://docs.gitlab.com/ee/ci/yaml/#artifacts для получения дополнительной информации.