Alexander
Кстати, а много кто делает IaaC, и при этом не коммитит изменения в мастер как мудак, раскатывая оттуда на прод? Т.е. делает feature/bugfix-бранчи, тестит их на CI автотестами, тегает версии и выкатыват через стейдж?
нет, это всё очень дорого. IaaC проблема не в том, чтоб апи подёргать, а что б апи подёргать из нужного состояния. что б так текстить нужно:
- раскатать текущий мастер в какое-то временное окружение. тут уже сложность, что всё должно быть динамически без хардкодов имён окружений
- раскатать приложения на эту инфраструктуру. тут опять сложность, что во первых раскатывалка приложений должна уметь катать куда угодно и дергать её надо уметь не по пушу, а по какому-то вызову, что многие CI не умеют или умеют очень криво (при вызове не по пушу генерируется другой пайплайн и ничего никуда не катает). и вторая сложность, что сами конфиги приложений должны уметь в динамические окружения. да и надо еще откуда-то знать все зависимости приложения чтобы их тоже раскатать иначе не взлетит
- запустить чекалку приложения, что б поймать возможные разрывы при накатке нового IaaC
- накатить обновление IaaC из бранча
- проанализировать разрывы - где ожидаемо, где нет. если ожидаемо то соответствует ли глубина и длительность даунтайма ожиданиям от бранча. всё это надо в каком-то наколенном DSL формализовать
- погасить все это дело
- переповторить при любой проблеме.
Уверен, никто там не заморачивается. максимум свежее окружение из бранча поднимут, что бы самые просты ошибки отловить.