Мне понравилось использовать Rails на Heroku, и вот так я могу настроить свойство конфигурации приложения Heroku без необходимости вносить изменения в xyz.yml
и повторно развертывать.
Было бы неплохо полностью покончить с конфигурационными файлами Yaml в моем приложении Rails и полагаться как можно больше на сохранение конфигурации в ENV. Это согласуется с принципом 12-factor config.
Тем не менее, есть некоторые компромиссы при переключении с управления конфигурацией на основе Yaml на основанный на Heroku/12-фактор основе.
- Хотя верно, что распространение развертываний (qa, stage, prod, dev, demo, labs) может привести к распространению файлов Yaml, очень легко скопировать-вставить, чтобы создать новый профиль конфигурации. Я не вижу способ "скопировать" профили конфигурации из одного развертывания в другое в Heroku.
- Сохранение данных конфигурации в репо означает, что в случае с Heroku развертывание, настройка и приложение выполняются за одну операцию. Если бы я перенесла свою конфигурацию из файлов Yaml и в переменные ENV, мне пришлось бы настроить мое приложение на отдельном этапе после развертывания.
Хотелось бы услышать от людей, которые использовали 12-факторную конфигурацию стиля в своих частных приложениях и как они управляли множеством переменных конфигурации во множестве развертываний.
- Как быстро настроить новое развертывание?
- Где вы храните свой авторитетный источник переменных конфигурации, если не репо? Как вы распространяете его среди разработчиков?
Спасибо!