Какую стратегию вы используете, чтобы избежать хранения паролей в управлении версиями?
В настоящее время у меня есть пароли разработки/тестирования/производства, сохраненные в трех разных файлах, и соответствующий файл используется во время развертывания. Все это связано с контролем версий, но я не слишком доволен тем, что не все разработчики должны знать эти пароли (особенно сторонние, у которых есть доступ только в то время, когда их проекты продлились, и это может быть только месяц).
Хранение паролей в базе данных не является отличным вариантом:
- Мне нужна большая часть данных во время инициализации контекста Spring (приложение Java), и я не хочу создавать строительные леса для подключения к одной базе данных, а затем подключаться к остальным базам данных и инициализировать остальные приложения
- некоторые пароли относятся только к развертыванию; пароль для доступа к различным серверам, хранилищам ключей и т.д.; это то, что приложение не может загрузить после его запуска, так как оно не загружает его вообще.
Я подумываю о перемещении конфигурации развертывания с машины разработчика на выделенный компьютер, который проверяет код из управления версиями и запускает сборку/развертывание script, но я не совсем уверен, что было бы лучшим способом сделать это.
Мне также нужно сказать, что я не хочу максимальной безопасности: я просто хочу избежать паролей на каждом диске разработчика и сделать это слишком легко.
Итак, я прошу вашего опыта/лучших практик. Как вы это делаете?