DS
1) Кодер херачит код в мастер
2) Ставит новый тег
3) Идёт и выставляет в репе инфры новый тег
4) Коммитит
5) CI запускает деплой
6) Если во время деплоя возникают проблемы, то загорается alert
7) Дежурный разработчик лезет смотреть что сломалось
8) По завершении дебага делает реверт в гите инфраструктуры
А вот пример:
Версия приложения v1.0.1 зависит от такого конфига nginx
v1.0.2 от другого конфига nginx.
В случае если у нас этот конфиг в той же репе. То проблем нет. Если у нас сабмодули, то это считай таже самая репа, так как твой подход совсем другое предполагает и сабмодули там неподходят.
Как решать такую проблему в твоем подходе? Разраб захотел откатиться на более старую версию, он зашел в репу для инфры, закомитил туда версию v1.0.1 но забыл поменять конфиг nginx. И приехали, откатить то откатили, но при этом все равно получили сломанное приложение