Как управлять конфигурацией для разных сред, таких как dev-продукт, при развертывании кода через DevOps Azure CI? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть ветвь Develop в VSTS, и определение build (CI) прошло успешно. Теперь я хочу развернуть сборку в средах Dev, UAT и PROD. Если выпуск успешен, тогда все среды будут иметь настройки Dev, так как сборка Dev / ветка Dev web.config имеют настройки dev. Как я могу управлять настройками UAT / PROD / DEV для соответствующих выпусков.

Примечание: настройки Dev, упомянутые в web.config ветки Develop.

Обновление 1:

Для приведенного ниже XML-файла значения необходимо изменять во время выполнения в зависимости от различных сред. Что необходимо настроить в конвейере выпуска для изменения значений XML-файла.

<RPSServer>
 <Sites>
 <Site SiteName="default">
 <SiteId>123546</SiteId>
 <ReturnURL>Custome URL</ReturnURL>
 </Site>
 </Sites>
</RPSServer>

В приведенном выше XML-файлеSiteId и ReturnURL будут разными для DEV, UAT и PROD

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Не знаю, где вы развернули, однако задачи Azure App Service Deploy и IIS Web App Deploy теперь поддерживают преобразования файлов и подстановку переменных . Если вы развертываете приложение с помощью задачи развертывания службы приложений Azure, существует Параметры преобразования файлов и замены переменных , которые могут выполнять преобразование.

Вы также можете использовать Расширение XDT Transform , который может применить преобразование для файла конфигурации, так что вы можете включить / добавить соответствующие файлы конфигурации в артефакт выпуска, а затем настроить преобразование в соответствии с средами выпуска.

Другой способ заключается в том, что вы можете заменить значение в файле конфигурации Заменить токены или Задача токенизации .

Для этого можно сослаться на следующие блоги:

-

ОБНОВЛЕНИЕ:

Также доступны замены токенов для файлов * .xml. Например, с расширением Replace Tokens мы можем отредактировать xml-файл, как показано ниже, а затем установить переменные для разных сред / этапов.

<RPSServer>
 <Sites>
 <Site SiteName="default">
 <SiteId>#{SiteId}#</SiteId>
 <ReturnURL>#{URL}#</ReturnURL>
 </Site>
 </Sites>
</RPSServer>

Ссылка ниже на скриншоты: enter image description here enter image description here

0 голосов
/ 12 октября 2019

Если у вас есть конвейер выпуска, то использование переменных может помочь с этим.

...