Комментарии 14
"На сколько" без "сколько" не дает внятного представления об ускорении.
Как человек, получающий много денег именно "за это", могу сказать, что "просто деплой" ничего особенного из себя не представляет. Деньги платятся не за это, а за способность адаптировать "это" к реальностям. Например, посторонние люди в гите с правом коммита, от которых надо защищать секреты. Или наличие конкурирующих несовместимых версий в одном и том же гите (новая неработающая и старая унылая легаси которая работает) и необходимость как-то различать их по направлениям деплоя.
Или наличие неожиданного стейта на сервере (и зарплата специалиста примерно утраивается, если он его может обнаружить до того, как дропнет).
Или уникальный IP, "который нельзя менять", потому что смена IP - это месяц переписки с внешней интеграцией. Не верите что так бывает? Попробуйте "быстро переключить IP" у bgp-сессии с Cogent.
Главная проблема в CI/CD не в техническом процессе, а в административном. В 90% случаев в команде есть общая идея "нужен хороший CI/CD", но у каждого члена команды своё видение идеала. Одному - попушил и на продакшене, второму - чтобы два человека аппрувнули выкатывание на продакшен. Соответственно, чем опытнее человек, тем меньше он копается в коде, и больше обсуждает с людьми, что им, собственно, надо.
спасибо за такие правильные мысли, согласен со всем, и мы постепенно к ним приходим, как и писал, мы небольшая студия, поэтому в данном случае, мы просто ускорили доставку кода и разделили на окружения и состояния. и мы сделали малую часть из того, о чем вы написали, но мы на пути к этому всему, именно поэтому я занимаюсь настройкой пайплайнов на тесты, сборку проектов, прокатку миграций, да и апрувы у нас есть, пока один, не два, как вы писали, но и к этому мы идем путем расширения штата
Странные какие-то мучения. На Django не делал, но на PHP есть готовые инстурменты, например Deployer, разобраться - 1 час. Касательно Kubernetes, на AWS, Azure или Digital Ocean уже там встроенно. Могу посоветовать Digital Ocean, дешего и хорошо. Сервис Apps. Надо только кнопки тыкать и деньги платить.
Мы у себя на GitLab сделали через fabric, не то что бы совсем лучшее решение (а что-то подсказывает что и не хорошее вовсе), но для наших мелких нужд хватает. У нас стояла задача - просто автоматизировать процесс выкатывания на сервер.
Сценарий такой:
В секретах лежат ip host'ов для dev и prod и доступ для ssh (ключ или пароль)
Когда кто-то запушил в ветку, запустилась задача из fabric в зависимости от ветки (там же она понимает какие секреты взять)
Задача выполняет нужные действия на сервере (сливает ветку, применяет миграции, делает билд фронта (если нужно), перезапускает службы).
Я сам учился, думал, что это сложно, а оказалось, что это просто.
Теперь и вы знаете, что это просто!
Надеюсь, вам полегчало, ставьте лайки, подписывайтесь на мой канал!
спасибо, теперь у статьи есть саммари)
P.S.: при написании статьи не было посыла чему-то научить. просто поделился опытом;)
Автор я бы посмотрел , как ты так быстро несколько окружений развернул бы полностью на кубере с нуля )) ( если у тебя до этого не было опыта с этим ))
Моя эпопея настройки автодеплоя: ошибки и открытия