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