Вот ситуация:
У нас есть большая система, состоящая из нескольких котов-котов, каждый из которых (очевидно) имеет различные конфигурации (server.xml, setenv.sh, catalina.properties и т. Д.) Плюс несколько сред, в которых мы былиразверните его для разработки, тестирования, принятия и т. д. со своими собственными индивидуальными конфигурациями.
В настоящее время все эти файлы конфигурации существуют только на соответствующих серверах.Эти серверы защищены и с резервными копиями;никто не сможет получить к ним доступ, если не будет предоставлена надлежащая авторизация.
Однако я все еще думаю, что это не идеально:
- Если нам нужно изменить какую-то конфигурацию, нам нужен скрипт, который будет выполненкем-то, имеющим авторизацию на данном сервере, для каждого сервера / среды это раздражает.
- Поскольку у нас нет доступа к этим конфигурациям, они могут различаться в разных средах, которые просто кажутся источником проблем.
Так что я думаю, что помещение всех этих файлов конфигурации под контроль версий вместе с остальным системным кодом является хорошим способом решения вышеуказанных проблем, и любое изменение этих файлов может быть легко развернуто на каждом сервере./среда.
Однако здесь также есть некоторые проблемы:
- Некоторые файлы конфигурации содержат имя пользователя и пароли;хранить их в системе контроля версий - нет-нет.
- Добавить учетные данные в конфигурационные файлы безопасным способом несколько сложно из-за ограничений, которые у нас есть.
- Есть много файлов конфигурации: более 50 из-за количества серверов / сред;организация их не является тривиальной задачей.
Мой вопрос (ы):
Учитывая все эти проблемы;Стоит ли хранить файлы конфигурации в системе управления версиями?
Должен ли я оставить файлы конфигурации на соответствующих серверах?
Должен ли я отделить файлы, относящиеся к серверу tomcat (server.xml и т. д.), отНезависимые от сервера приложений?
Есть ли другая альтернатива, которую я не вижу?
Извините за длинный вопрос.