TGViewer
Bite the Byte Bite the Byte @bitethebyte · 3.38K subscribers
Post #72 849
Я не люблю стрес, не люблю незворотні дії, і не люблю повторювати одну й ту саму роботу. Вочевидь, ніхто не любить, але чомусь у кожному проекті, де я приймав участь за останні 10 років, деплой найбільше непокоїв саме мене. :) І тож моя опінія — деплой повинен бути такої складності, щоб 10 раз за день не ставали додатковим навантаженням на когось, окрім системи CI.

Нащо з тим возитися? Тому що деплой — це один з найважчих морально моментів, і зміна відношення до нього прискорить будь-яку команду. Це реально з речей, які ну дуже сильно впливають на мораль і на результати команди.

Велика затримка між закінченням роботи і попаданням тієї роботи до користувачів вбивають велику частину задоволення від роботи. Релізи вночі вбивають бажання їх робити і здатність помітити проблеми та полагодити їх — ніхто ж не залізний. Якщо ви десь впізнали свій процес, то це не привід страждати, просто займіться тим, щоб стало краще. Я вам обіцяю, що дякую скажуть всі учасники процесу. :)

Що треба, щоб стало норм? Дивись чекліст! Він упорядкований, кожен крок наближує до ідеалу.

* Скрипт, який буде генерувати артефакт, який буде запускатися: архів, пакет, уберджар, докер-файл.
* CI, налаштованний так, щоб цей скрипт запускався на кожен тег гіта (ну або взагалі на кожен комміт і далі автоматично все викочувати на стейджинг).
* Сценарій деплоя без даунтайму. Забрав сервер з балансування, перезапустив процес, увів назад. Або запустив нові контейнери, перевів балансування на них, повимикав старі.
* Цей сценарій повинен запускатися з якогось зрозумілого місця, а не з ноута якогось чувака. Скажімо, з кнопки у гітлабі, з команди в слаку, щось таке.
* Ось тут вже змінюємо процес і починаємо релізити частіше. Або прям кожну фічу окремо, або кілька. Ми у середньому робимо 9 релізів на тиждень.
* Трекінг помилок на продакшені з нотіфікашками про нові — ну типу Sentry. Воно вже і так повинно було бути, але все ж нехай буде. :)
* Сценарій ролбеку — релізу якоїсь з попередніх версій. Якщо можна швидше, ніж свіжий деплой, то так і треба робити. Це для зменшення стресу, щоб не так страшно було великі зміни релізити. Тіки помилки почали лізти, пішов, стару версію викотив, і можна спокійно розбиратися.
* Опціонально: якщо ви розробляєте гілками у гіті, навчитися легко викочувати ті гілки на окремі піддомени, щоб тестувати і дивитися до мержу у мастер.

Ну й не забувайте просту істину: мізки треба вмикати все одно. Головне — не пройти чекліст 1-в-1, головне — щоб стало добре. :)
More from @bitethebyte
  1. Aug 31, 2026‍Лагідна українізація дісталася до алібаби 😁
  2. Aug 24, 2026Вітаю всіх з днем відновлення незалежності! З цього приводу в ДОУ вийшов спецвипуск подкас…
  3. Aug 23, 2026А ви йдете на пікнік ДОУ? Я от нарешті йду. 😁 Дуже прикольно, що є івент, який якби конфе…
  4. Aug 13, 2026Щось зранку задумався над IBAN’ами, і випадково усвідомив, що вони — це ж така сама адреса…
  5. Jul 16, 2026Ну й відстойні ж новини. :( Нажаль, внутрішня політика знов перемогла здоровий глузд, але…
  6. Jun 10, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →