Как мне настроить рабочий процесс dist build и production для моего серверного приложения Node.js? (Nest JS API)?
Мой текущий рабочий процесс:
- Передать изменения в
production
ветку - Производственный сервер с
pm2
автоматически извлекает изменения из это репо - Automati c
npm install
на сервере Prod. - Automati c
npm run build
на сервере Prod. - Automati c
pm2 start
on prod server.
Основная проблема, которую я вижу в этом рабочем процессе, заключается в том, что я выполняю сборку на производственном сервере. Это означает, что мне нужны все devDependencies на сервере, а также я делаю скачки производительности на сервере при сборке.
Я уже настроил GitHub Actions в своем репо для сборки своего кода и сохранения его как артефакт при фиксации, но теперь я Я застрял.
- Должен ли я зафиксировать встроенный исходный код для репозитория, а затем использовать
pm2
ловушку на производстве? - Должен ли я загружать артефакт каким-либо сценарием в производство, распаковывать его и запускать Это? Я вижу несколько проблем здесь:
/dist
папка (артефакт) не имеет пакета. json и активы - Я потерял Git функциональность, поэтому мне нужно всегда удалять старый источник и распаковать новый источник