Azure devops 如何在具有多个构建验证和路径筛选器的Azure Dev Ops上创建PR触发器?

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/*

这将在我完成PR后成功构建,但它不是PR验证的一部分。此外,出于某种原因,当我从开发分支创建新版本时,它也不会触发那里的构建(因此,我的一个条件是,它构建在发布分支上,而不是为我的发布管道创建工件)

我在Dev和我的发行版/*branch上对分支策略的当前生成验证

API的My 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在完成之前有一个成功的构建(它没有这样做)。我想在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/*