Проект Typescript Node.js - внедрение в рабочий процесс - PullRequest
1 голос
/ 02 апреля 2020

Как мне настроить рабочий процесс dist build и production для моего серверного приложения Node.js? (Nest JS API)?

Мой текущий рабочий процесс:

  1. Передать изменения в production ветку
  2. Производственный сервер с pm2 автоматически извлекает изменения из это репо
  3. Automati c npm install на сервере Prod.
  4. Automati c npm run build на сервере Prod.
  5. Automati c pm2 start on prod server.

Основная проблема, которую я вижу в этом рабочем процессе, заключается в том, что я выполняю сборку на производственном сервере. Это означает, что мне нужны все devDependencies на сервере, а также я делаю скачки производительности на сервере при сборке.

Я уже настроил GitHub Actions в своем репо для сборки своего кода и сохранения его как артефакт при фиксации, но теперь я Я застрял.

  • Должен ли я зафиксировать встроенный исходный код для репозитория, а затем использовать pm2 ловушку на производстве?
  • Должен ли я загружать артефакт каким-либо сценарием в производство, распаковывать его и запускать Это? Я вижу несколько проблем здесь:
    • /dist папка (артефакт) не имеет пакета. json и активы
    • Я потерял Git функциональность, поэтому мне нужно всегда удалять старый источник и распаковать новый источник

1 Ответ

0 голосов
/ 02 апреля 2020

У меня нет всей необходимой информации, но я думаю, что вы должны запустить шаг сборки на инструменте CI / CD (например, TravisCI) и скопировать в папку sh содержимое папки /dist. производственный сервер впоследствии. Тогда pm2 запустит только эту производственную сборку.

...