Задать вопрос

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

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

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

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

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

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

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

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

Похожие вопросы