Как код попадает на сервер 2025 edition

Photo 7@13 03 2025 10 33 01

Как раньше: открыл удалённую папку на сервере по FTP, скопировал туда свои файлы — сайт работает.

К каким проблемам это приводило:
— Два разработчика скачали один и тот же файл, внесли правки и по очереди загрузили их на сервер. Изменения первого разработчика стёрты вторым.
— Разработчики работают прямо на сервере. Человеческий фактор неизбежно приводит к ошибкам.

Как это выглядит у нас сейчас:
— Разработчик копирует код из Git-репозитория (git clone/git pull)
— Создаёт свою ветку, в ней изменения хранятся отдельно (git checkout -b)
— Вносит изменения в свой экземпляр (git commit)
— Отправляет изменения обратно в репозиторий (git push)
— Создаёт запрос на добавление своих изменений в общий код (Merge Request)
— Робот 🤖 на новом поддомене разворачивает тестовую копию сайта с изменениями (Review Apps) и запускает тестирование
— Менеджер, Тестировщик и другие разработчики смотрят и щупают изменения
— Разработчик дорабатывает код, тестовый сайт автомагически обновляется
— После принятия запроса на слияние (Merge Request) все новые изменения автоматически выкатываются на промежуточный сервер
— С промежуточного сервера время от времени все обновления попадают на основной сервер (тоже через Merge Request)

В итоге менеджеры могут одновременно отслеживать прогресс разных задач на тестовых доменах и давать обратную связь.
Дополнительные бонусы: исключаем риск утечки данных (152-ФЗ) и рукожопства на сервере (🤖).