Как лучше обновлять бандл на проде?

Есть код который собирается в бандл вебпаком, пока это у меня на локале все ясно - запустил watch и при обновлении бандл обновился, но как лучше обновлять на проде? Я вижу пару вариантов:
сам бандл в гит игнор, а сборку повесить на гитхук на проде
хранить бундл под гитом, перед коммитом пересобирать его на локале и уже в таком виде отправлять на прод
Наверняка это уже отработанный кейс, но в гугле ничего не смог найти.
  • Вопрос задан
  • 311 просмотров
Решения вопроса 1
bootd
@bootd
Гугли и ты откроешь врата знаний!
На проде бандл пересобирают!!!! Прод - это не дев мод, где всё на лету собирается и меняется. На прод 1 раз собралось и всё. Сделали новую фичу, правку и т.п., выкатили, пересобрали.

В гите бандлы не хранят, только когда вы разрабатываете какие-то библиотеки и т.п., что бы сразу можно было брать и юзать. Для проектов не хранят бандлы в гите, бандлы собирают прям на сервере. Потому как бандлы почти всегда собираются на основе окружения, в котором они работают.

Окружение - это тестовый полигон, либо боевой полигон. Обычно проекты сопровождаются переменными окружения(.env ну или иными, сути не меняет) в которых прописываются разные, нужные проекту данные. Api url, режим(production, development, ещё бывает stage), порт, имя приложения для удобной отладки при запуске именованного процесса на котором будет запускаться приложение и т.п. Следовательно, во время сборки, переменные окружения заносятся в бандл и там уже хранятся.

Переменные окружения лучше тоже на хранить в гите, т.к. любой разработчик без проблем должен иметь возможность менять эти значения на свои. Например, порт дев сервера. У меня например порт 3000 может быть занят чем-то своим и что бы запустить приложение, я просто сменю порт на свой.

Либо собрать у себя на компе, а потом залить, дабы не тратить ресурсы сервера в этот момент. А потом просто рестарт сервера. Такой вариант подходит, если у вас всегда 1 источник данных. И вам по сути не нужны никакие переменные окружения. Но как по мне, они всегда должны быть.

Зашли на сервер, создали файлик с переменными в вашей директории и всё.
Открыли терминал, дали команду, собрали. Либо автоматизировать этот процесс, но это уже другая история
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы