Azure devops 如何在具有多个构建验证和路径筛选器的Azure Dev Ops上创建PR触发器?
这将在我完成PR后成功构建,但它不是PR验证的一部分。此外,出于某种原因,当我从开发分支创建新版本时,它也不会触发那里的构建(因此,我的一个条件是,它构建在发布分支上,而不是为我的发布管道创建工件) 我在Dev和我的发行版/*branch上对分支策略的当前生成验证 API的My Azure管道:Azure devops 如何在具有多个构建验证和路径筛选器的Azure Dev Ops上创建PR触发器?,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,这将在我完成PR后成功构建,但它不是PR验证的一部分。此外,出于某种原因,当我从开发分支创建新版本时,它也不会触发那里的构建(因此,我的一个条件是,它构建在发布分支上,而不是为我的发布管道创建工件) 我在Dev和我的发行版/*branch上对分支策略的当前生成验证 API的My Azure管道: trigger: branches: include: - Dev - Releases/* paths: include: - MCR.API/*
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在完成之前有一个成功的构建(它没有这样做)。我想在PR完成之后构建它(它正在这样做)。我想在发布/*分支中创建新的发布时构建它(它没有这样做)所以这个问题的答案很简单 在构建验证策略中,确保在目录前面有一个前导斜杠,即使在yaml管道文件中不需要 到目前为止,我改变了这个例子:
MCR.API/*
MCR/*
MCR.Admin/*
致:
所有东西都按照我的要求工作。但是
/MCR/*
包括所有其他的?这个项目的文件夹结构有点奇怪…项目的物理文件夹名为MCR.API、MCR.Admin,然后是一个名为MCR的文件夹(这是UI,应该被命名为MCR.UI,但我离题了).So/MCR/*只是触发了对UI项目的更改-它不包括所有内容..嗨,codeMetis,感谢您的分享,这将帮助其他社区成员更轻松地搜索此有用信息,它只是一个提醒:)
/MCR.API/*
/MCR/*
/MCR.Admin/*