我们的仓库具有以下分支结构-功能分支->质量检查->主站。我们也有三个构建管道,一个用于质量保证,一个用于主控,一个用于开发,处理所有功能分支。构建管道是一个简单的YAML文件,没有发布管道,因为这是一个Web应用程序,构建管道具有一个AzureRmWebAppDeployment
步骤。管道除了name
,pool
,variables
和steps
(标准的nuget / build / publish任务)之外,什么都没有。
我正在使用触发器来启用CI,但是当我完成从QA到master分支的拉取请求时,我看到master分支的构建开始,而dev / feature分支的构建开始。如何避免为dev / feature分支进行构建?
这是为开发管道定义的触发器:
主构建管道的触发器仅具有Include = master
。
答案 0 :(得分:0)
要解决此问题,您需要添加“路径过滤器”,以便可以将确切的文件排除在触发PR构建之外。
注意:路径过滤器选项不适用于BitBucket存储库。
这里有一个issue(分支过滤器排除不与Pull-Request触发器一起使用)与您有相同的问题,请参考。
由于论坛迁移,以前的用户声音已关闭,您可以在我们新的UserVoice网站上添加您的请求,这是我们提供产品建议的主要论坛。感谢您帮助我们构建更好的Azure DevOps。
答案 1 :(得分:0)
谢谢,我参加了post to the DC论坛,事实证明这是设计使然。 documented是,如果您添加Exclude
过滤器,则必须添加Include
过滤器。
- 如果您未设置路径过滤器,则默认情况下会隐式包含存储库的根文件夹。
- 添加显式路径过滤器时,根文件夹的隐式包含将被删除。因此,请确保明确包含构建所需的所有文件夹。
要解决我的问题,我只添加了Include = *
,这避免了在向QA和master分支完成的请求请求中构建开发管道。