Как деплоить php приложение на множество серверов?

Есть приложение на нескольких серверах и один балансер.
Разработчики внесли правки и запушили в гит и нужно это вылить на все сервера.

Причем там нужно собрать фронт и composer install сделать. А пока это выполняется - всё отваливается. Такого не должно быть.

Как лучше поступить?
Какие инструменты используете вы?
  • Вопрос задан
  • 1016 просмотров
Решения вопроса 3
Voenniy
@Voenniy
https://deployer.org
Отличный интструмент. Соберет и накатит. Написан на php
Ответ написан
@stratosmi
Сделать сборку, проверить сборку, затянуть файлы на сервер, проверить, что файлы затянуты.
И только тогда стартовать новую версию.
Для параллельного одновременного запуска на всех серверах сразу используем Nomad.
Статья про то, что именно вас интересует - надежный запуск через "двуцветный" deploy
https://www.nomadproject.io/guides/operating-a-job...
Ответ написан
Вы должны сперва выполнить сборку проекта, затем его деплой, а не наоборот. Используйте, например, ansistrano. И в таком случае будет применим и текущий вариант, т.к. лишь в последний момент будет создан линк на новое приложение.

Использование докера так же упрощает жизнь. Подумайте о внедрении его в процесс деплоя и эксплуатации.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Deissh
@Deissh
I like Python, Node.JS, Go, pain, bugs and my cat.
Проще всего использовать docker контейнеры которые будут собираться в pipeline и пушиться в docker registry. А после можно разворачивать либо на k8s или docker swarm кластере без простоя.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
GarageTools Санкт-Петербург
от 180 000 ₽
РосСтройИнвест Санкт-Петербург
от 100 000 ₽
JetBrains Санкт-Петербург
от 200 000 ₽
27 сент. 2020, в 00:32
20000 руб./за проект
26 сент. 2020, в 23:26
2000 руб./за проект
26 сент. 2020, в 21:27
100000 руб./за проект