【发布时间】:2018-11-20 22:19:59
【问题描述】:
在运行具有以下项目/文件夹结构的 Azure Build Pipeline 时遇到问题(不良行为)。
我的存储库的根文件夹有两个主要文件夹:
- 前端(ASP.Net Core 2.x 和 Angular 7 项目)
- 后端(ASP.Net Core 2.x)
我正在尝试构建两个单独的 Azure 管道,一个用于后端,一个用于前端,因此我使用 projects: 参数来指定正确的路径。
build 和 test 命令运行良好,仅恢复/构建/测试backend 文件夹,但publish 命令对两个文件夹运行:后端和前端。
这是我的 yaml 文件:
#build backend project
task: DotNetCoreCLI@2
displayName: dotnet build --configuration $(buildConfiguration)
name: BuildBackendProject
inputs:
command: build
projects: '**/backend/**/*.csproj'
arguments: '--configuration $(buildConfiguration)'
... #run some tests
#publish backend project
task: DotNetCoreCLI@2
displayName: dotnet publish backend --configuration $(buildConfiguration)
name: PublishBackendProject
inputs:
command: publish
projects: '**/backend/**/*.csproj'
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --output
$(Build.ArtifactStagingDirectory)/backend'
zipAfterPublish: True
我尝试了不同的文件夹路径,但它总是运行两个发布命令。
如果我在 CMD dotnet publish backend(来自 repo 的根文件夹)中本地运行它可以正常工作,但显然这不适用于 Azure Pipeline。
非常感谢任何想法或修复。
【问题讨论】:
-
尝试使用 'backend/**/*.csproj' 而不是 '*/backend/**/.csproj'
-
@D.J.我尝试了您的建议,甚至使用特定项目而不是通配符,但它仍在运行两个发布命令。 [命令]/usr/bin/dotnet 发布 /home/vsts/work/1/s/frontend/GaiaFront.Web.csproj。如果最后一个命令像构建、测试和恢复命令一样工作,则不应执行。
标签: asp.net-core azure-devops azure-pipelines azure-pipelines-build-task