【发布时间】:2020-02-21 06:10:37
【问题描述】:
我在 Azure DevOps 上的 git 存储库中有多个项目。我有构建管道设置以在“暂存”分支(这是我们的开发分支)上发生提交时触发。但是我添加了一个额外的触发器,我认为它会在 repo 的子文件夹中过滤。目前有三个管道都设置为在提交和子文件夹时触发。即使只有来自目标子文件夹之一的文件提交,所有这三个也会运行。 查看我的一个触发器的屏幕截图:
似乎触发器设置为 OR 而不是 AND。因此,换句话说,任何对 staging 的提交都会触发所有三个构建,但有时我不希望所有三个构建和发布。应该构建和发布我修复的那个。
有没有办法解决这个问题?
【问题讨论】:
-
我已经创建了一个样本来测试这个问题,它在我这边运行良好。您的三个文件路径过滤器是如何设置的?您是否仅在其中一个过滤路径中修改了文件,而没有在另一个过滤路径中修改文件?你能和我们分享一下你的三个路径过滤器的具体设置吗?是否有其他管道的构建完成?
-
是的,你让我看了 ;-) 每个管道都设置了分支和路径。每个管道的路径不同,因为它是应该在该管道中构建的项目的子文件夹。
-
我可以确认这个功能没问题。我从未收到任何其他成员报告此问题。这应该与您的项目/管道设置有关。因此,我们需要仔细检查有关此问题的一些信息,三个路径是否具有包含关系,例如:Path1:
/Source/APath2:/Source/A/B。如果有任何分期策略,请分享一些关于它们的图像。 -
@LeoLiu-MSFT 我已经把这个问题放在一边了。我不想转换为 yaml 构建,因为我没有时间学习其他技术。所以现在看来,无论签入什么,我的两个管道总是触发。第三个将独立触发。因此,在我有一些重大的开发停机时间之前,我会忍受它。
标签: azure-devops