У меня есть развернутое веб-приложение ASP.NET, и я пытаюсь выяснить, как лучше определить, на какую среду оно должно указывать при запуске, и убедиться, что я не упустил из виду ни одно из них. опции.
Сначала немного фона.
Приложение автоматически развертывается в Интернете с сервера сборки с использованием артефактов, генерируемых при непрерывной сборке. Пакет развертывания содержит параметры конфигурации для каждой доступной среды, поэтому в итоге вы получите что-то вроде этого:
/Config/Environments/Development.xml
/Config/Environments/UAT.xml
/Config/Environments/Production.xml
Вопрос в том, как лучше всего указать приложению при запуске, какой файл конфигурации среды следует загрузить?
В идеале я хотел бы иметь возможность изменить текущую среду работающего приложения, если это возможно, но я рад пропустить это сейчас, поскольку я всегда могу выполнить повторное развертывание, если это необходимо.
Я также хотел бы избежать изменения любых артефактов, создаваемых сборкой, особенно потому, что пакет веб-развертывания представляет собой zip-файл, и это будет означать перестройку пакета веб-развертывания.
Я предложил следующие варианты:
Используйте переменную среды на целевом компьютере, чтобы указать, с какой средой начинать работу, и, если она отсутствует, по умолчанию для разработки. Основным недостатком этого является то, что я не смогу запустить два экземпляра приложения на одном компьютере, которые указывают на разные среды, и, поскольку мы, как правило, разворачиваем uat и промежуточные среды на одном компьютере, это может стать проблемой.
Удаленно отредактируйте файл web.config, указав, с какой среды запускать, я не уверен, как это сделать, но это может быть лучшим вариантом (?).
Возможно, вы можете что-то сделать с веб-развертыванием, например, указав ему установить значения web.config при запуске, но я не знаю, возможно ли это (?).
Я что-то упускаю из виду? Любая помощь будет принята с благодарностью!