Azure devops Azure Devops管道触发器在触发标记时忽略路径

Azure devops Azure Devops管道触发器在触发标记时忽略路径,azure-devops,yaml,azure-pipelines,build-pipeline,build-triggers,Azure Devops,Yaml,Azure Pipelines,Build Pipeline,Build Triggers,我有两个构建管道来构建我的客户机和API,但是当我创建一个新的git标记时,两个构建都会被触发,即使标记可能只与基于我的客户机代码的更改相关 前端构建ci.yml 触发器: 分支机构: 包括: -主人 标签: 包括: -参考/标签/*\u产品发布* 路径: 包括: -客户/* 排除: -原料药/* api构建ci-yml 触发器: 分支机构: 包括: -主人 标签: 包括: -参考/标签/*\u产品发布* 路径: 包括: -原料药/* 排除: -客户/* 常规提交按预期工作(即客户机代码触发

我有两个构建管道来构建我的客户机和API,但是当我创建一个新的git标记时,两个构建都会被触发,即使标记可能只与基于我的客户机代码的更改相关

前端构建ci.yml

触发器:
分支机构:
包括:
-主人
标签:
包括:
-参考/标签/*\u产品发布*
路径:
包括:
-客户/*
排除:
-原料药/*
api构建ci-yml

触发器:
分支机构:
包括:
-主人
标签:
包括:
-参考/标签/*\u产品发布*
路径:
包括:
-原料药/*
排除:
-客户/*
常规提交按预期工作(即客户机代码触发客户机构建),我尝试了多种排除路径的变体,但都无济于事

标记筛选应该忽略路径,还是应该以与分支相同的方式工作

解决方法是使用更多描述性标记(即20200326\u prodrelease\u api),但如果api和客户端都准备好生产,我会尽量避免使用两个标记

当我创建一个新的git标记时,两个构建都会被触发,即使 该标记可能仅与基于我的客户端代码的更改相关

标记筛选应该忽略路径,还是应该在相同的路径中工作 就像树枝一样

抱歉,恐怕您遇到的是CI触发器的预期行为。是的,您的猜测是正确的,当标记与包含文件路径的分支过滤器结合使用时,
标记过滤忽略了路径

请检查注意事项提示:

如果将标记与包含文件路径的分支筛选器组合指定,则如果满足分支筛选器并且满足标记或路径筛选器,则将触发触发器

问题原因:

这就是为什么在您的场景中会触发两个构建。由于现在将标记与分支筛选器和文件路径筛选器结合使用,因此
分支筛选器确定+标记确定
分支筛选器确定+路径确定
都可以触发生成

行为:

不创建标记时,
分支过滤器ok+路径ok
的工作方式类似于
客户端代码触发客户端构建
api代码触发api构建
。当创建特定标记时,因为始终满足
分支过滤器ok+标记ok
,它将触发两个构建

正如您前面提到的,在这种情况下,使用更多描述性标记作为解决方法并不是一个坏的选择。此外,如果您确实想要让三个过滤器同时工作这样的功能,请在我们的网站中推荐一个功能,与我们分享您的反馈。在这里分享链接,感兴趣的成员会投你一票