Подтвердить что ты не робот

Используя визуальные услуги студии студии для создания решения, содержащего несколько веб-приложений, и развертывания этих веб-приложений до лазурного

Моя команда использует Visual Studio Team Services для управления нашим исходным кодом в репозитории TFS. Решение содержит несколько веб-приложений. Я пытаюсь настроить непрерывную интеграцию и непрерывное развертывание для этого решения, чтобы каждое веб-приложение было развернуто в правильное веб-приложение Azure после успешной сборки. Я сконфигурировал BuildDefinition для создания $/MyProduct/MAIN/MySolution.sln. Я определил следующие параметры для MSBuild на основе некоторых статей MSDN, которые я нашел по этому вопросу:

/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true
/p:SkipInvalidConfigurations=true
/p:PackageLocation="$(build.stagingDirectory)" 

Шаги сборки включают в себя этап Visual Studio Build, шаг проверки Visual Studio (в настоящее время отключен для минимизации сложности), шаг индексов и опубликования символов (который, как мне кажется, мне не нужен), и, наконец, копия и "Опубликовать сборку артефактов".

Я могу построить это решение, используя эту конфигурацию. Я вижу результаты сборки, журнал сборки, детали сборки и т.д. Когда я смотрю на созданные артефакты, я вижу два артефакта: "drop" и "build.sourceLabel". Если я исследую файл с перетаскиванием, используя Artifacts Explorer, Я нахожу все мои проекты в этом файле сбрасывания, а для проектов веб-приложений я могу перейти в папку webapp1\obj\QA\Package\PackageTemp\bin и посмотреть все DLL и т.д. Для веб-приложения.

То, что я не вижу, - это один zip файл для каждого веб-приложения, что и ожидает функция Release Visual Services Team Services.

Я хотел бы знать, как изменить мою текущую конфигурацию, чтобы я мог генерировать правильные артефакты с этапа сборки, чтобы я мог создавать правильные задачи развертывания App Wep App для развертывания каждого веб-приложения в правильном веб-приложении в моем Окружающая среда.

Все это делается с помощью Visual Studio 2015 и Visual Studio Online (Team Services).

4b9b3361

Ответ 1

Чтобы проверить вашу ситуацию, я использовал Visual Studio 2015 и создал 3 новых веб-проекта в одном решении и зарегистрировался в VSTS. Затем я создал новую сборку с использованием шаблона развертывания сайта Azure. Многие люди пропустили, что у нас есть шаблоны сборки и развертывания в диалоговом окне "Создать новое определение сборки". Причина, по которой я использую шаблон сайта Azure, заключается в том, что я никогда не могу вспомнить аргументы msbuild для передачи. Вы можете просто удалить задачу Azure Web App Deployment, если собираетесь использовать RM.

Одно изменение, которое я всегда делаю для аргументов msbuild, - это PackageLocation. Я всегда меняю мой на $(BuildConfiguration). Таким образом, я могу создать как Debug, так и Release в то же самое время, если захочу.

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(BuildConfiguration)"

Наконец, я изменяю задачу Copy and Publish Build Artifacts для поиска только "**\*. zip". Оставьте Копировальный корень пустым и запустите свою сборку. Когда ваша сборка завершена, вы будете иметь один почтовый индекс для каждого проекта в разделе [ProjectName]/[Configuration]/projectName.zip, когда вы исследуете свои артефакты.

введите описание изображения здесь

Если у вас есть дополнительные вопросы, вы можете пинговать меня в Twitter @DonovanBrown