Четыре часа. Столько у нас занимал один деплой. Зайти по SSH на первый сервер, стянуть код, вручную прогнать миграции. Потом второй сервер. Потом третий. Потом четвёртый. Тесты? "Да я прогнал их у себя локально." Аппрув? Цепочка писем, которая сама по себе съедала два часа, прежде чем кто-то вообще касался прода.

Это не деплой. Это молитва.

Когда меня спрашивают, что на самом деле даёт быстрый deployment pipeline, я начинаю не с цифр. Я начинаю со страха — потому что именно он был настоящей ценой старого процесса, и именно про это никто не пишет в презентациях.

Старый процесс был фильмом ужасов

Вот всё как есть, честно. SSH на первый сервер, код, миграции руками. Повторить для второго, третьего, четвёртого. Чек-лист из 47 шагов, где одна человеческая ошибка кладёт прод. А деплой в пятницу? Категорически запрещён. Правило это нигде не было записано — просто все тихо боялись.

Ручной деплой не только жрёт время. Он вшивает страх в процесс, а потом и в команду. Ты начинаешь избегать изменений. Копишь релизы, потому что каждый — это боль, отчего следующий становится ещё крупнее и страшнее. Замкнутый круг, и в каждой компании, куда я приходил, была своя версия этого круга.

Что мы в итоге собрали

Новая архитектура срезала время деплоя на 96%. Не потому что мы купили волшебный инструмент, а потому что убрали человека из каждого шага, где не нужно принимать решение. Вот её каркас:

  • GitOps как точка входа. Мёрж в main — и деплой стартует сам. Никому не нужно помнить шаги, потому что шагов, которые надо помнить, просто нет.
  • CI валидирует каждый push. Без исключений. Без "ну один разок можно." Пайплайну всё равно, насколько срочным тебе кажется твой хотфикс.
  • Аппрув по правилам. Гейты — это код, а не ожидание, пока кто-то откроет почту.
  • Blue-green deployment. Ноль даунтайма на переключении, а откат — в один клик, а не пять скриптов в правильном порядке под давлением.
  • Автоматические smoke-тесты. Прод проверяется секунд за 60, ещё до того как на него переведут трафик.

Единственное, что осталось от человека, — ревью PR. И всё. Дальше мёржа — работа машины.

Эффект вышел далеко за пределы часов

Экономия времени — это заголовок, но не самое интересное. Интереснее то, что поменялось под капотом:

  • На 96% меньше времени на деплой — с четырёх часов до десяти минут.
  • В 10 раз больше деплоев в неделю. Фичи выкатываются, когда готовы, а не когда у кого-то хватило смелости.
  • Инциденты упали с 15 в квартал до 3. Это многих удивило, но логика простая: маленькие изменения легко дебажить. Если что-то сломалось, ты точно знаешь, какой коммит виноват, потому что в релиз ушла одна вещь, а не тридцать.
  • Откат в один клик, поэтому плохой деплой — это неудобство, а не авария.

Если ты до сих пор запрещаешь пятницы — у тебя не проблема с расписанием. У тебя проблема с пайплайном.

Первый деплой в пятницу был жутким

Хочу быть честным про этот момент, потому что рассказ про инструменты звучит куда глаже, чем это ощущалось.

Когда мы в первый раз деплоили в пятницу, я сидел, смотрел, как крутится пайплайн, и обновлял дашборд мониторинга каждые десять секунд, ожидая, что хоть что-нибудь сломается. Ничего не сломалось. Smoke-тесты прошли. Трафик переключился чисто. Мы разошлись на выходные, как нормальные люди.

Вторая пятница была легче. К третьей об этом уже никто не вспоминал.

Вот в этом и урок. Инструменты — простая часть: выходные за чтением доков и пара недель на обвязку. А вот убедить людей, что деплой в пятницу — это нормально, когда пайплайну можно доверять, заняло месяцы. Каждый зелёный деплой добавлял капельку доверия. Команду нельзя переспорить и вытащить из страха — её можно только перевесить фактами, по одному чистому релизу за раз.

Что я сказал бы тебе, если ты всё ещё на четырёхчасовой версии

Ручной деплой — это баг в твоём процессе, а не черта характера твоей команды. Если откат не в один клик, ты играешь с огнём и называешь это стратегией.

Начни там, где страх громче всего. Автоматизируй сначала скучные шаги, где легко ошибиться, — те самые "зайди по SSH и молись", — и пусть каждый успех покупает тебе доверие на следующий шаг. Не нужно переписывать всё за выходные. Нужна одна пятница, в которую ничего не сломалось. А потом ещё одна.

Быстрый deployment pipeline — это на самом деле не про скорость. Скорость — побочный эффект. Ты строишь процесс, которого команда перестаёт бояться. Именно он выкатывает фичи, режет инциденты и позволяет всем расходиться по домам в пятницу, как нормальным людям.

Так что честно: твоя команда деплоит по пятницам? А если нет — что должно измениться, прежде чем ты этому доверишься?