Azure DevOps: почему задача DotNetCoreCLI@2 не публикует (архивирует) мой проект Функций Azure?
У меня есть решение.NET Core 3.1, которое содержит 2 проекта веб-приложений. Я использую Azure DevOps Pipelines для CI/CD, поэтому у меня есть шаги сборки-тестирования-публикации, определенные вazure-pipelines.yml
файл.
Задача, которую я использую для упаковки продуктов двух моих проектов веб-приложений, довольно стандартна и основана на задаче DotNetCoreCLI@2:
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
Все идет нормально. На этом этапе создаются два zip-файла, по одному для каждого веб-приложения.
Но после добавления нового проекта функций Azure в мое решение его продукты не заархивированы таким же образом. В результате я не могу развернуть его в Azure.
Я предполагаю, что по умолчанию задача состоит только в публикации проектов веб-приложений. Как я могу заставить его работать и в моем проекте Функций Azure?
1 ответ
Кажется, когда кто-то устанавливает publishWebProjects
к True
, как и у меня, то publish
команда для DotNetCoreCLI@2
будет публиковать только проекты веб-приложений. Что, как я теперь понимаю, довольно очевидно.
Решение, которое я нашел для своей потребности, - установить publishWebProjects
к False
а также добавить projects: '**/*.csproj'
.
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: False
projects: '**/*.csproj'
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
Теперь задача создает zip-файл для каждого проекта в моем решении. Это включает несколько тестовых проектов, но я не против. Если кто-то не возражает, можно было бы, вероятно, перечислить только конкретные проекты, которые нужно заархивировать вprojects
атрибут.