Объедините несколько веб-проектов в один выходной пакет zip - PullRequest
0 голосов
/ 18 сентября 2018

Я использую Visual Studio Online и работаю над созданием системы непрерывной интеграции. Сценарий, который у меня есть, требует, чтобы несколько веб-проектов создавались для одного развертывания службы приложений Azure. Подвох в том, что «из коробки» при создании новой сборки появляется задача сборки Visual Studio для создания отдельного zip-файла для каждого проекта в решении, а затем задача развертывания службы приложений Azure выдает ошибку, сообщающую, что более одного файла, соответствующего шаблону, который является * .zip.

То, что я хотел бы сделать, это собрать все эти проекты в одном месте, объединяя различные проекты, и тогда в Azure App Service Deploy есть только один zip-файл для отправки, который, я знаю, он может сделать просто хорошо. Мои аргументы MSBuild для задачи сборки Visual Studio: /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\". Я попытался удалить атрибут PackageAsSingleFile, но он все равно создал файлы zip.

Возможен ли сценарий, который я хочу реализовать в VSO, возможно, с другим набором кодов команд?

1 Ответ

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

Похоже, вам нужен сценарий PowerShell или несколько задач для манипулирования файлами и папками перед публикацией артефакта.

  1. Извлечение файлов $(build.artifactstagingdirectory)\*.zip до $(build.artifactstagingdirectory)\Merged
  2. Архивные файлы $(build.artifactstagingdirectory)\Merged до $(build.artifactstagingdirectory)\Merged.zip
  3. Удалить файлы , которые мы извлекли с помощью minimatch: !/**/*.zip
  4. Измените развертывание службы приложений Azure для поиска: $(System.DefaultWorkingDirectory)/**/Merged.zip

https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=vsts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...