Azure Devops 管道,多分支触发器不起作用

Azure Devops pipeline, multi branch trigger doesn't work

我是第一次使用 Azure Devops Pipelines。我正在使用 .yml 文件。但是我无法弄清楚为什么当我结帐并将分支从开发推送到“发布/*”时,管道不会 运行。即使 src/ 发生变化,它也不会触发在我的新 releases/newbranch

里面

但是当我将“customers/feature-branch”的更改与 customers/moa-prototype-client1/release 合并时,管道将 运行。

我的触发器是:

trigger:
  branches:
    include:
    - customers/moa-prototype-client1/release
    - releases/* 
  paths:
    include:
    - src/*
    - src/customers/moa-prototype-client1/*
    exclude:
    - '*.yml'
    - src/customers/*

什么会导致这种情况?

简而言之:当我从 Customers/Customername/Develop 合并到 Customers/Customername/Release 时会触发。但是当我从 Develop 合并到 Releases/*

时不会

我们的回购:Gitflow

从你的描述来看,这个问题似乎存在于 Release/* 分支。 customers branch 可以按预期工作。

我在测试的时候遇到过类似的情况。如果 Release/* 分支不包含带触发器的 Yaml 文件,则发布分支中的更改不会触发构建。

例如:

不起作用

为了解决这个问题,您可以将相同的yaml文件从其他分支复制到所有发布分支。

那么Release分支的变化就可以触发构建成功了。

另一方面,正如 Kontekst 所说,路径过滤器区分大小写。可以同时查看。

希望对您有所帮助

解决方案:在检查了一些用户建议的链接和可能的解决方案后,我开始使用它。但是我对这个修复并不完全满意,因为我想 运行 我的管道通过我的 .yml 文件而不是通过管道设置覆盖我的触发器。

当我再次查看我的 .yml 并注意到 releases/* 后面有一个 space 时,我删除了这个 space 并将其提交到我的回购协议,一切正常!