Преобразование конвейера сборки/выпуска Azure DevOps

#asp.net #azure #devops #cicd

Вопрос:

Мы готовимся использовать DevOps для нашего процесса CI/CD с участием ASP.Сетевые веб-приложения, и у меня возникли проблемы с переходом к «лучшей практике» для шага преобразования web.config.

Документация и примеры указывают на включение задачи преобразования в конвейер выпуска. Однако для этого Web.Debug/Release/Staging.config (и другие) должны быть доступны из артефактов, что означает, что мы должны изменить действие сборки на Содержимое, что означает, что они становятся частью развернутого кода.

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

Я уверен, что что-то упускаю… но было трудно найти лучшие практики. Я очень ценю любое руководство или мысли.

Комментарии:

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

2. В этом примере что-то публикуется bin , но это может быть любая папка, т. е. где-то в источнике docs.microsoft.com/en-us/azure/devops/pipelines/artifacts/… вам просто нужно использовать свой хрустальный шар, чтобы найти правильный путь (похоже, в DevOps много магии и хрустальных шаров)