Как организовать разработку на NodeJs/NestJs/Vue/Ubuntu?

Привет всем!
У меня есть VPS с Ubuntu, на котором установлен Nginx, NodeJs и NestJs для фронтенда (Vue) и бэкенда.
Я пока только изучаю этот стек, делаю простое приложение. Всё работает, но меня не устраивает сам процесс разработки.
Как это выглядит у меня сейчас. Рабочая машина - Windows. Запускаю терминал по SSH (Putty), чтобы перегружать Nginx, а также процессы NodeJs, отвечающие за фронт и бэк. Тоже удовольствия мало:
ps aux | grep node
ищу фронт и бэк и прибиваю по PID:
sudo kill -9 pid
и рестарт
бэк: npm run start
фронт: npm run serve

Не очень удобно. Это раз.
Сам код фронта и бэка я правлю через Visual Studio Code через плагин SSH-FS напрямую на живом сервере. Я понимаю, что это неправильно.
Поэтому прошу посоветовать, подсказать, как правильно огранизовать процесс разработки, чтобы было по фен-шую. Какими инструментами пользоваться?
Как я себе это представляю. Нужно поднять Gitlab или Bitbucket для хранения кода для бэка и фронта.
На локальной машине поднять проект, синхронизировать его с системой контроля версий, запушить изменения.
А как дальше автоматизированно затянуть эти изменения на сервер? Останавливать процессы вручную, потом git pull, старт обоих сервисов для фронта и бэка... Как всё это правильно делать?
Тесты пока пропускаем, хотя уже готов к побиению камнями :)
  • Вопрос задан
  • 571 просмотр
Решения вопроса 2
Robur
@Robur
Знаю больше чем это необходимо
Вы случайно на php до этого не писали? :)

Разработку делайте локально - сервер на ноде и девсервер для vue запускайте на своей машине, базу если есть можно подключать удаленную.
Можно напрямую, можно через докер если у вас какие-то проблемы будут из-за винды.

Как потом делать правильный деплой на стейджинг/прод - отдельная большая тема, для начала настройте себе нормальное окружение разработки и локальны процесс.
Ответ написан
@fedot1325
Поднимаете nginx / базу / бэк / фронт в разных контейнерах локально через docker-compose. Бэк можно запускать через nodemon, чтобы не перезапускать процесс после изменения файлов. На gitlab можно настроить CI, чтобы после пуша в ветку автоматически собирался образ с вашими файлами. Позже на проде просто обновляете образы бэка/фронта (на проде тоже понадобится докер).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Energy2
Я всё держу на локалке, запускаю 2 консоли для бэкенда и фронтэнда на разный портах, а на сервер заливаю уже готовый билд.

На сервере так же запускаю 2 процесса ноды (фронт, бек) и собственно всё.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
IWU Нижний Новгород
от 150 000 до 250 000 руб.
Сравни.ру Москва
от 150 000 руб.
YLab Тольятти
от 80 000 до 120 000 руб.
21 авг. 2019, в 12:03
3000 руб./в час
21 авг. 2019, в 11:44
750 руб./в час
21 авг. 2019, в 11:32
1000 руб./в час