DevOps:如何在请求请求时正确使用分支过滤器

时间:2019-09-30 18:35:36

标签: azure-devops

我们的仓库具有以下分支结构-功能分支->质量检查->主站。我们也有三个构建管道,一个用于质量保证,一个用于主控,一个用于开发,处理所有功能分支。构建管道是一个简单的YAML文件,没有发布管道,因为这是一个Web应用程序,构建管道具有一个AzureRmWebAppDeployment步骤。管道除了namepoolvariablessteps(标准的nuget / build / publish任务)之外,什么都没有。

我正在使用触发器来启用CI,但是当我完成从QA到master分支的拉取请求时,我看到master分支的构建开始,而dev / feature分支的构建开始。如何避免为dev / feature分支进行构建?

这是为开发管道定义的触发器:

enter image description here

主构建管道的触发器仅具有Include = master

2 个答案:

答案 0 :(得分:0)

要解决此问题,您需要添加“路径过滤器”,以便可以将确切的文件排除在触发PR构建之外。

enter image description here

注意:路径过滤器选项不适用于BitBucket存储库。

这里有一个issue(分支过滤器排除不与Pull-Request触发器一起使用)与您有相同的问题,请参考。

由于论坛迁移,以前的用户声音已关闭,您可以在我们新的UserVoice网站上添加您的请求,这是我们提供产品建议的主要论坛。感谢您帮助我们构建更好的Azure DevOps。

答案 1 :(得分:0)

谢谢,我参加了post to the DC论坛,事实证明这是设计使然。 documented是,如果您添加Exclude过滤器,则必须添加Include过滤器。

  
      
  • 如果您未设置路径过滤器,则默认情况下会隐式包含存储库的根文件夹。
  •   
  • 添加显式路径过滤器时,根文件夹的隐式包含将被删除。因此,请确保明确包含构建所需的所有文件夹。
  •   

要解决我的问题,我只添加了Include = *,这避免了在向QA和master分支完成的请求请求中构建开发管道。