我在 azure 中有多个微服务存储库。每个都有其单独的管道。 我想在一个源管道 A 完成后触发所有微服务(子)管道。
为此,我在每个微服务存储库 yaml 文件中添加了“管道”资源,该资源使用管道完成触发器获取引用来指向管道 A。来自医生。
resources:
pipelines:
- pipeline: A # Name of the pipeline resource.
source: A # The name of the pipeline referenced by this pipeline resource.
trigger: true # Run app-ci pipeline when any run of A completes
现在,上面的代码片段被放入 diff 微服务的“release/”分支中。注意:每个微服务都有不同的分支用于管道。
但是在 A 之后子管道仍然没有被触发。原因是所有子管道都将“main”作为默认分支。 如果我必须更改它,我必须手动转到“每个”管道 UI 触发器部分,并将“手动和计划构建的默认分支”从主分支更改为相应的发布分支。只有这样这些才会被触发。
这个过程非常繁琐,因为微服务(子)管道数量太多。
有人可以指导一下吗?或者除了使用“管道资源”之外是否还有其他方法
您可以在触发器中指定要include或exclude的分支列表:
resources:
pipelines:
- pipeline: A
source: A
trigger:
branches:
include:
- main
- releases/*
exclude:
- experimental/*
请注意,您需要在管道应运行的所有分支中提交 YAML 管道文件和相关 YAML 模板,包括(但不限于)用于手动和计划构建的默认分支。如果您使用通配符,例如
releases/*
,则只需执行一次。
请仔细阅读分行注意事项。