Доставка проекта на продакшен, какие инструменты для деплоя?

Всем привет!

Планирую построить инфраструктуру деплоя большого web-приложения. В качестве хранилища реп и CI планирую использовать Gitlab CI.

Не могу определиться с тем, как доставлять приложение на прод. Какие инструменты тут лучше использовать? RPM собирать и потом на проде обновляться через пакетный менеджер?
  • Вопрос задан
  • 680 просмотров
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
docker

собираем на CI-ке контейнер, прогоняем на нем тесты (вы же сказали что проект большой, большой проект без тестов - боль), если все хорошо - пушим в docker hub или в свой локальный docker distribution, после чего можно на серваке сделать просто docker-compose pull && docker-compose up -d и радоваться.
Ответ написан
saggid
@saggid
Веб-Программист
Есть очень простая и удобная утилита для деплоя Deployer. Создаёшь скрипт либо на сервере, либо прямо на своей локальной машине, в котором описываются шаги, которые надо сделать при деплое.

Deployer создаёт папки релизов в рабочем каталоге. Если у вас, например, сайт уже работает на основе одного из последних коммитов, то перед переходом на следующую версию кода, Deployer создаст новую папку релиза и развернёт туда ваше приложение. Если все шаги деплоя, которые вы опишете, пройдут успешно, Deployer переключит ваше приложение на новую версию.

При этом, вы ещё и откатиться всегда можете на предыдущий релиз всего через одну команду. В общем, очень удобно) Мне нравится. И получается почти-zero-downtime обновление.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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