如何配置Azure Pipeline仅在另一流水线指定阶段成功时触发
可以实现仅在Pipeline B的阶段1成功后触发一次Pipeline A,你当前遇到两次触发的问题是因为缺少控制单次触发的配置,且需要确认阶段名称匹配是否准确。
问题根因
默认情况下Azure DevOps的管道资源触发器会在指定阶段执行完成、以及整个源管道全量阶段执行完成时分别检测一次触发条件,就会出现符合条件时两次触发目标管道的情况。
修正后的配置
resources: pipelines: - pipeline: Triggering pipeline source: B trigger: branches: include: - master* - main* stages: - "阶段1" # 替换为Pipeline B中阶段1的准确名称,需和B管道内该阶段的name属性完全一致 triggerOnce: true
注意事项
stages字段下填写的阶段名称必须和Pipeline B中对应阶段的配置名称完全匹配,大小写、中英文、符号都不能有差异,如果你Pipeline B的阶段1配置的name是数字1,此处直接填- "1"即可triggerOnce: true作用为指定当配置的目标阶段首次成功时仅触发一次Pipeline A,后续Pipeline B的其他阶段运行完成不会再次触发
内容的提问来源于stack exchange,提问作者vij
相关产品推荐
相关产品推荐

