Natebash
@Natebash
React, Vue, Angular, Navite JS, Python / Node JS

Алгоритм деплоя приложения fastapi + react + postgres?

Хочу разобраться с алгоритмом деплоя приложения на сервер, буду рад если кто-то подкинет статью, видео, доку, либо что-то иное. На работе писал фронт\бэк, юзал докер + jenkins, немного gitlab ci\cd. Но никогда не разбирался как все это работает в связке + настраивается.

Что имею:
Написал простенькое приложение (тудушку) для того что бы разобраться в деплое фулл приложения.

Фронт - next
Бэк - fastapi
БД - postgresql

В докер контейнеры не заворачивал, пока что приложение лежит в виде монорепы на гитхабе, в одной папке вида -
./client 
./server
./git

и крутится на локалхосте.

Есть большое количество вопросов как теперь поставить все это на правильные рельсы, и задеплоить.

Собственно некоторые из вопросов:
Стоит ли использовать архитектуру монорепы, или же все таки разбить фронт \ бэк по разным репозиториям для удобства?
Какой сервер использовать? Сойдет ли дешевый VPS из какого нибудь бегета? Нормально ли там все работает учитывая на сервер нужно прокидывать postgres.
Нужен ли Jenkins?
Можно ли для начала обойтись без докера и просто сливать на сервер build фронта, и поднятый сервер питона.
  • Вопрос задан
  • 661 просмотр
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Все просто - в целом деплой не сильно отличается от деплоя на вашем лаптопе.
Для начала просто возьмите VPS, и добавьте Github Actions который будет строить FE и BE и и копировать их на сервер. Jenkins вам не нужен. Пример - https://fullstackopen.com/en/part11/getting_starte..., или любой пост/видео - есть множество.
Дальше можно думать об улучшениях:
- для монорепо разделить деплой BE и FE
- чтобы дейлой FE был более похож на "настоящий", задеплоить его в AWS S3 или что-то аналогичное
- добавить тесты, static code scanning (SonarCloud например)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект