Azure devops DevOps:如何根据请求正确使用分支过滤器

Azure devops DevOps:如何根据请求正确使用分支过滤器,azure-devops,Azure Devops,我们的回购有以下分支结构-功能分支->QA->主分支。我们还有三个构建管道,一个用于QA,一个用于master,一个用于Dev,用于处理所有特性分支。构建管道是一个简单的YAML文件,没有发布管道,因为这是一个web应用程序,构建管道有一个AzureRmWebAppDeployment步骤。管道只包含标准nuget/build/publish任务的名称、池、变量和步骤 我正在使用触发器启用CI,但是当我完成从QA到主分支的pull请求时,我看到主分支的构建启动,以及开发/功能分支的构建启动。如何

我们的回购有以下分支结构-功能分支->QA->主分支。我们还有三个构建管道,一个用于QA,一个用于master,一个用于Dev,用于处理所有特性分支。构建管道是一个简单的YAML文件,没有发布管道,因为这是一个web应用程序,构建管道有一个
AzureRmWebAppDeployment
步骤。管道只包含标准nuget/build/publish任务的
名称
变量
步骤

我正在使用触发器启用CI,但是当我完成从QA到主分支的pull请求时,我看到主分支的构建启动,以及开发/功能分支的构建启动。如何避免开发/功能分支的构建

以下是为开发人员管道定义的触发器:


主生成管道的触发器只有
Include=master

要解决此问题,您需要添加“路径筛选器”,以便从触发PR生成中排除确切的文件

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

这里有一个(分支筛选器排除不使用拉请求触发器)与您有相同的问题,请参考它


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

要解决此问题,您需要添加一个“路径过滤器”,这样您就可以排除触发PR构建的确切文件

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

这里有一个(分支筛选器排除不使用拉请求触发器)与您有相同的问题,请参考它

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

谢谢,我参加了论坛,结果证明它是经过设计的。如果添加
Exclude
filter,则必须添加
Include
filter

  • 如果未设置路径过滤器,则默认情况下会隐式包含repo的根文件夹
  • 添加显式路径筛选器时,将删除根文件夹的隐式包含。因此,请确保明确包含构建所需的所有文件夹
为了解决我的问题,我简单地添加了
Include=*
,这避免了在开发管道中构建对QA和master branch的完整请求。

谢谢,我参加了论坛,结果证明它是经过设计的。如果添加
Exclude
filter,则必须添加
Include
filter

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

为了解决我的问题,我简单地添加了
Include=*
,这避免了在开发管道中构建对QA和master分支的完整请求。

如果我添加路径过滤器,那么管道构建甚至不会对功能分支执行。您可以在分支过滤器中添加Include功能分支。此外,还可以将路径过滤器设置为排除某些内容。我不知道运行时的功能分支,也没有前缀可以进行过滤。要素分支的创建方式为
。我理解路径过滤器是如何工作的,它们不适用于我们正在尝试做的事情,这基本上是为除master和QA之外的任何其他分支启动构建。我认为这个问题可能是一个bug,您可以在我们的报告中报告。好的,这不是bug,它是按设计的,正如文档所说的,如果您添加排除过滤器,您必须添加包含过滤器。很高兴听到您找到了问题的原因。如果我添加了路径筛选器,则管道构建甚至不会对功能分支执行。您可以在分支筛选器中添加include功能分支。此外,还可以将路径过滤器设置为排除某些内容。我不知道运行时的功能分支,也没有前缀可以进行过滤。要素分支的创建方式为
。我理解路径过滤器是如何工作的,它们不适用于我们正在尝试做的事情,这基本上是为除master和QA之外的任何其他分支启动构建。我认为这个问题可能是一个bug,您可以在我们的报告中报告。好的,这不是bug,它是按设计的,正如文档所说的,如果您添加排除过滤器,您必须添加包含过滤器。很高兴听到你找到问题的原因。