Динамическое изменение файлов конфигурации в .Net Application в зависимости от среды через Bamboo - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть служба Windows, написанная на .net c #. У нас есть три различных среды, скажем dev, test и prod. У меня также есть 3 различных файла конфигурации для 3 сред, скажем devAppConfig, TestAppConfig и ProdAppConfig.

Ранее мы использовали для развертывания руководство, поэтому мы использовали для замены файлов конфигурации и развертывания двоичных файлов. Теперь развертывания должны быть автоматизированы, поскольку мы используем Bamboo.

Теперь мой вопрос: как мне динамически изменить AppConfig для различных сред развертывания.

У меня есть 3 различных этапа именования бамбука DevDeploy, TestDeploy, ProdDeploy. Когда я запускаю эти этапы, он должен изменить файл конфигурации и выполнить развертывание, но я не уверен, как это сделать.

Кто-нибудь может направить меня в правильном направлении для моей проблемы?

enter image description here

1 Ответ

0 голосов
/ 03 октября 2018

Полагаю, это сработает:

  1. Создайте несколько файлов конфигурации в некотором каталоге в решении в формате Config.ConfigurationName.xml, например, Config. DEV .xml, Config. Test .xml ...
  2. Добавить событие PreBuild (в окне свойств csproj или вручную в файле csproj), например: <PropertyGroup><PreBuildEvent>xcopy /y (ProjectDir)\Configs\Config.$(Configuration).xml $(ProjectDir)\CONFIG\Config.xml</PreBuildEvent></PropertyGroup> или в VS правой кнопкой мыши на проекте -> Свойства: enter image description here
  3. Добавьте несколько конфигураций в VS в Configuration Manager для другой конфигурации, например. DEV, тест . Конфигурация моего проекта:

My project configuration

  1. Выполнить в msgild сборки Bamboo с аргументами: /p:SolutionConfiguration=%CONFIGURATION% где% CONFIGURATION% - это переменная в Bamboo, в которой указано, какую ENV вы развертываете, например, DEV, Test и т. Д.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...