Для Java я рекомендую стратегию внешней конфигурации spring-boot . Идея состоит в том, что стек источников конфигурации с верхними переопределяет нижеследующие.
- Аргументы командной строки
- Свойства системы
- Переменные среды
- Локальные файлы конфигурации (application.yml или application.properties)
- Файлы конфигурации на пути к классам
Нет. 4 обычно находится в скрытой папке в домашнем каталоге пользователя, например, ~/.myapp/application.yml
. Только пользователь может прочитать этот файл.
По вашему вопросу несекретные свойства с управлением версиями помещаются непосредственно в исходный код (№ 5 выше) Секреты также могут быть введены в 5, но с фиктивными значениями. Реальные секреты перезаписывают фиктивные значения во время выполнения от 1, 2, 3 или 4.
Вы можете использовать spring-boot или написать свой собственный код, следуя той же стратегии.