Azure DevOps - как опубликовать приложение ASP.NET - PullRequest
0 голосов
/ 21 мая 2019

У меня есть приложение ASP.NET (4.7.2), которое успешно запускается и запускается на моей машине. Это приложение имеет файл web.config, который содержит следующее:

Web.config

<appSettings>
  <add key="username" value="someone@email.com" />
  <add key="port" value="25" />
</appSettings>

Это значения конфигурации, которые я хочу использовать во время работы. Однако при развертывании приложения в службе приложений Azure для тестирования я хочу изменить значение port. По этой причине я добавил преобразование конфигурации с именем «Web.Test.config» со следующим:

Web.Test.config

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="port" value="58" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
  </appSettings>
</configuration>

К сожалению, похоже, что трансформация не происходит. Я готов, что преобразования происходят только во время «публикации». В настоящее время я выполняю развертывание с помощью конвейера разработки Azure, который включает в себя следующие задачи:

NuGet

Восстанавливает пакеты на основе файла .sln

MSBuild

Создает .csproj, который определяет мое приложение ASP.NET. Для свойства «Конфигурация» установлено значение «Тест».

Развертывание службы приложений Azure

Пытается развернуть приложение ASP.NET как «Веб-приложение в Windows» в моем слоте развертывания. «Пакет или папка» имеет значение MyAspNetApp.

Пока этот конвейер сборки успешно работает, преобразования конфигурации, похоже, не вступают в силу. Как выполнить «публикацию» через конвейер сборки DevOps Azure в службе приложений Azure, чтобы сгенерировать мои преобразования конфигурации.

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

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

Во-первых, нам нужно убедиться, что файлы web.*.config включены в выходные данные сборки и файл преобразован правильно. Сначала проверьте это локально.

Кроме того, следующие шаги должны помочь:

  • Удалить вложенность файлов web.dev/stest/atest/prod.config либо удалив элемент в csproj , вложив надстройка для VS или пункт контекстного меню Вложенность файлов в VS 2017

    Примечание из документации Замечания по преобразованию XML , что:

    По умолчанию MSBuild применяет преобразование при создании сети. пакет, если элемент уже присутствует в преобразовать файл в файл * .csproj. В таких случаях приложение Azure Задача Service Deploy не будет выполнена, поскольку дальнейших действий нет преобразование применяется к файлу Web.config. Следовательно, это Рекомендуется удалить элемент из всех преобразовывать файлы, чтобы отключить любую конфигурацию во время сборки при использовании XML преобразование. * * тысяча двадцать-одна

  • Убедитесь, что файлы *.config имеют 'Copy to Output Directory' свойство установлено в if newer или always

  • Создайте решение локально и проверьте содержимое bin \ release и убедитесь, что файлы web.*.config включены

  • Запустите сборку в VSTS и убедитесь, что файлы web.*.config включены в упаковке на молнии

  • Установите флажок Преобразование XML в задаче развертывания службы приложений Azure: enter image description here

Существует отличный документ о , как при использовании XML-преобразований при развертывании в Azure App Service с использованием VSTS вы можете проверить его для получения более подробной информации.

BTW , так как вам просто нужно изменить значение port, вы можете использовать параметр XML variable substitution в задаче развертывания службы приложений Azure.

Билет для деталей: Как преобразовать файл Web.Config 'Правильно' с VSTS!

Надеюсь, это поможет.

0 голосов
/ 22 мая 2019
  • Перейти к Azure Devops
  • Создать новую сборку слева (Pipelines => Builds)
  • Выберите свой репозиторий

enter image description here - создание конвейера сборки

enter image description here

enter image description here - создание конвейера выпуска и добавление артефакта сборки enter image description here

enter image description here

enter image description here

  • Выберите Слоты развертывания и другиеопции enter image description here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...