Azure DevOps:为什么 DotNetCoreCLI@2 任务不发布(zip)我的 Azure Functions 项目?
Azure DevOps: Why does the DotNetCoreCLI@2 task not publish (zip) my Azure Functions project?
我有一个 .NET Core 3.1 解决方案,其中包含 2 个 Web 应用程序项目。我正在为 CI/CD 使用 Azure DevOps Pipelines,因此我在 azure-pipelines.yml
文件中定义了构建-测试-发布步骤。
我用来打包我的两个 Web 应用程序项目的产品的任务是相当标准的,并且基于 DotNetCoreCLI@2 任务:
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
到目前为止一切顺利。此步骤创建两个 zip 文件,每个 web 应用程序一个。
但是,在我的解决方案中添加了一个新的 Azure Functions 项目后,其产品的压缩方式有所不同。因此,我无法将其部署到 Azure。
我猜任务默认只发布 Web 应用程序项目。如何让它也适用于我的 Azure Functions 项目?
似乎当我将publishWebProjects
设置为True
时,DotNetCoreCLI@2
的publish
命令将只发布Web应用程序项目。我现在意识到,这是很明显的。
我找到的解决方案是将 publishWebProjects
设置为 False
并添加 projects: '**/*.csproj'
.
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: False
projects: '**/*.csproj'
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
现在任务为我的解决方案中的每个项目创建一个 zip 文件。这包括一些测试项目,但我不介意。如果您介意的话,可以只列出要在 projects
属性中压缩的特定项目。
我有一个 .NET Core 3.1 解决方案,其中包含 2 个 Web 应用程序项目。我正在为 CI/CD 使用 Azure DevOps Pipelines,因此我在 azure-pipelines.yml
文件中定义了构建-测试-发布步骤。
我用来打包我的两个 Web 应用程序项目的产品的任务是相当标准的,并且基于 DotNetCoreCLI@2 任务:
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
到目前为止一切顺利。此步骤创建两个 zip 文件,每个 web 应用程序一个。
但是,在我的解决方案中添加了一个新的 Azure Functions 项目后,其产品的压缩方式有所不同。因此,我无法将其部署到 Azure。
我猜任务默认只发布 Web 应用程序项目。如何让它也适用于我的 Azure Functions 项目?
似乎当我将publishWebProjects
设置为True
时,DotNetCoreCLI@2
的publish
命令将只发布Web应用程序项目。我现在意识到,这是很明显的。
我找到的解决方案是将 publishWebProjects
设置为 False
并添加 projects: '**/*.csproj'
.
- task: DotNetCoreCLI@2
inputs:
command: publish
publishWebProjects: False
projects: '**/*.csproj'
arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
zipAfterPublish: True
现在任务为我的解决方案中的每个项目创建一个 zip 文件。这包括一些测试项目,但我不介意。如果您介意的话,可以只列出要在 projects
属性中压缩的特定项目。