Снова и снова я сталкиваюсь с проблемой наличия нескольких сред, которые должны быть настроены индивидуально для приложения, которое будет работать во всех из них (например, QA, региональные производственные среды, dev, staging и т. Д.), И мне интересно Каков наилучший способ организации различных конфигураций?
Будет ли это в базе данных? Разные конфигурационные файлы для каждой среды? Или, может быть, один и тот же файл с разными разделами / тегами XML? Как они будут тогда развернуты? Встроено в приложение? Или положить вручную после установки, чтобы изменить на месте?
Этот вопрос не относится к конкретной технологии - я работал с .net и Java, веб-приложениями и настольными приложениями, и эта проблема возникает снова и снова. Я хочу изучить различные подходы, чтобы, возможно, адаптировать гибрид для решения этой проблемы.
РЕДАКТИРОВАТЬ: я должен отметить одно предостережение: когда конфигурация является частью развернутого решения, она обычно устанавливается на хосте под пользователем root
. В крупных организациях разработчики обычно не имеют корневого доступа к рабочим хостам, поэтому любые изменения в конфигурации требуют новой сборки и развертывания. Излишне говорить, что это не самый хороший подход - особенно в организациях, где очень строгий процесс выпуска с участием нескольких команд и уровней одобрения ... ( вздох Я знаю!)