Тут читается не техническая а
организационная проблема.
Не очень понятно но попробую дать совет.
Вот ты говоришь что требуется в 10 конфигах сделать изменения.
Какие? Они - взаимосвязаны? - Это должен быть 1 коммит в git.
Эти все изменения должны быть просмотрены глазами хотя-бы несколькими людьми.
Если цена изменения дорого стоит (инфраструктура) то по любому должна
быть бригада девопсов. Они - страхуют друг друга от случайной ошибки.
Если ты будешь брать на себя падения датацентров - то очень скоро
станешь пациентом кардиолога. Бери коллег для подстраховки.
Константы и зависимости - надо объявлять отдельно. Чтоб если меняется hostname
или имя свойства - то
это должно быть ровно одно изменение. Как поддержать
константы в конфигах - я щас не помню но была куча всяких штук... толи Puppet
толи Ansible вобщем поищи сам. Я думаю таких много конфигураторов.
Когда несколько environments то на проекте создается просто несколько фолдеров типа
/dev
/qa
/uat
и в каждом фолдере лежит полностью сконфигурированная и оттестированная
копия всех конфигов. Переключение между env тоже должны происходит
изменением
ровно 1 свойства.
Если внутри конфигов есть некая базовая конфигурация которая очень похожа
(прототип) то сделайте аналог COC (Convention Over Configuration). Пускай
прототип будет всегда. А наследники dev, qa, uat будут просто изменять
дельту. Пароль поменялся - в конфиге-наследнике - лежит ровно 1 строчка с паролем.
Других строк - не надо. Потому что они наследуются от прототипа.
Как технически реализовать COC - я не скажу. Это надо обсуждать. Я это делал
на Java проектах но это как-бы идея "на подумать". На проектах у меня были
*.properis файлы и эту конвенцию было реализовать несложно. С ЯМЛ ами я не делал.
Ну думаю что это возможно. Почему нет?