这将在我完成PR后成功建立,但它并不是PR验证的一部分。另外,由于某种原因,当我从dev分支创建新发行版时,它也不触发那里的构建(因此,我在release分支上构建的条件之一就是,没有为我的发布管道创建构件)
在Dev和Releases / *分支上我对分支策略的当前构建验证
我的API的Azure管道:
trigger:
branches:
include:
- Dev
- Releases/*
paths:
include:
- MCR.API/*
jobs:
- job: api
variables:
configuration: release
pool:
vmImage: 'vs2017-win2016'
steps:
- task: DotNetCoreCLI@2
displayName: Restore
inputs:
command: restore
projects: '**/*API.csproj'
- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: build
projects: '**/*API.csproj'
- task: DotNetCoreCLI@2
displayName: Publish API
inputs:
command: publish
publishWebProjects: false
projects: '**/*API.csproj'
arguments: '--output $(build.artifactstagingdirectory) --configuration $(configuration)'
zipAfterPublish: True
- task: PublishBuildArtifacts@1
displayName: 'Publish API Artifact'
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/heads/Releases/'))
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
artifactName: 'API'
我希望这可以强制PR开发人员和Releases / *在成功完成之前构建成功(不是那样)。我希望它在PR完成后构建(它正在这样做)。我希望它在Releases / *分支中创建新的Release时进行构建(不这样做)。
答案 0 :(得分:0)
所以这个问题的答案很简单...
在构建验证策略中,即使您的yaml管道文件中不需要一个斜杠,也请确保目录前面有一个斜杠。
到目前为止,我已对此进行了更改:
MCR.API/*
MCR/*
MCR.Admin/*
收件人:
/MCR.API/*
/MCR/*
/MCR.Admin/*
一切都按我的意愿进行。