Как внедрить только изменения веб-конфигурации в IIS / Azure? - PullRequest
0 голосов
/ 08 сентября 2018

В настоящее время я настроил свой CICD для проекта WebAPI с использованием TFS. Все идет нормально. Я также создал отдельный web.config для каждой среды (web.DEV.config, web.QA.config, web.PROD.config)

VS Сборка в TFS

enter image description here

Вопросы

Иногда нам приходится изменять только конфигурацию среды QA. В таких случаях нам нужно собрать весь проект (после изменения только файла web.QA.Config), который не нужен, нам просто нужно развернуть новую конфигурацию в QA. В настоящее время мы развертываем вручную, переходя в редактор служб приложений Azure / FTP к исходному коду.

В любом случае, если конфигурация изменилась, разверните только конфигурации вместо полной CICD?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Он не может быть настроен для непосредственного использования этой функции. Но вы можете использовать какой-то обходной путь. Для примера:

  1. Добавьте переменную в определение вашей сборки, например, «FullBuild» со значением «True».
  2. Добавьте задачу скрипта Powershell в начале определения вашей сборки. Сценарий powershell сделает следующее:
    • Получить набор изменений / фиксацию в сборке, чтобы проверить, какие файлы изменены.
    • Обновите переменную "FullBuild" на "false", если изменяется только web.QA.Config.
  3. Установить исходные задачи полной сборки для запуска с «Пользовательскими условиями»: and(succeeded(), eq(variables['FullBuild'], 'True'))
  4. Добавьте некоторые задачи для преобразования файла web.config и развертывания файла в Azure с «Пользовательскими условиями»: and(succeeded(), eq(variables['FullBuild'], 'False'))

Чтобы преобразовать файл web.config, вы можете создать для этого сценарий PowerShell клиента или использовать некоторые задачи сборки, такие как: Применение преобразований .

0 голосов
/ 08 сентября 2018

Вы можете изменить настройки веб-приложений непосредственно в Azure без развертывания. Это будет работать в вашей ситуации, потому что будущие развертывания не будут переопределять то, что вы настраиваете через портал, то есть это одноразовый процесс.

enter image description here

...