Azure Pipelines,在完成一个源管道后运行所有现有的不同管道

问题描述 投票:0回答:1

我在 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 触发器部分,并将“手动和计划构建的默认分支”从主分支更改为相应的发布分支。只有这样这些才会被触发。

这个过程非常繁琐,因为微服务(子)管道数量太多。

有人可以指导一下吗?或者除了使用“管道资源”之外是否还有其他方法

azure-devops azure-pipelines azure-pipelines-yaml
1个回答
0
投票

您可以在触发器中指定要includeexclude的分支列表:

resources:
  pipelines:
  - pipeline: A
    source: A
    trigger:
      branches:
        include:
        - main
        - releases/*
        exclude:
        - experimental/*

请注意,您需要在管道应运行的所有分支中提交 YAML 管道文件和相关 YAML 模板,包括(但不限于)用于手动和计划构建的默认分支。如果您使用通配符,例如

releases/*
,则只需执行一次。

请仔细阅读分行注意事项

© www.soinside.com 2019 - 2024. All rights reserved.