Как настроить CI для консольного приложения, подходящего для нескольких сред [Dev, QA, Prod]? - PullRequest
0 голосов
/ 30 марта 2020

У меня есть одно унаследованное консольное приложение [. Net 4.0 Framework], я смог построить CI, и он получил успех, но как обрабатывать CI для различных сред.

Поскольку для консольных приложений app.config будет преобразован в .exe config, и этот конфигурационный файл будет использоваться во время выполнения.

Я пытался создать несколько файлов app.config [app.Dev.Config, app.QA.config, app.Prod.Config], но как его заменить во время сборки?

Any скрипт для замены app.Config с указанием среды c config?

Использование Azure Pipelines для настройки CI / CD.

1 Ответ

0 голосов
/ 31 марта 2020

Azure Сервис devops предоставляет задачу Преобразование файлов для преобразования этих файлов конфигурации.

Вы можете использовать его в конвейере сборки или в конвейере выпуска, перед сборкой проекта или даже после сборки проекта для преобразования файла app.config или AppName.exe.config.

-transform <path to the transform file> -xml <path to the source file> -result <path to the result file>

например: Если вы пытаетесь развернуть свое приложение на стадии разработки, вы можете использовать что-то вроде -transform app.Dev.config -xml app.config(*.exe.config).

. Более подробную информацию об использовании этой задачи можно найти в следующих двух документах: Guide1 и Guide2 .

Кроме того:

1. Обратите внимание на пути к файлам! (Относительный путь лучше в конвейерной задаче.)

2.Для компакт-диска вам может понадобиться что-то вроде $(Release.EnvironmentName), которое представляет имя текущего этапа. Поэтому файл app.$(Release.EnvironmentName).config всегда содержит правила на текущем этапе.

3. Другой выбор, если вы определяете переменные области действия в конвейере выпуска. Вы также можете использовать расширение Replace Token , которое заменяет значения по умолчанию на значения текущего этапа. См. это , тогда вам не нужно хранить эти файлы app.xx.config.

...