YAML流水线资源触发器失效问题排查求助
Azure DevOps YAML流水线资源触发器失效排查问题
场景说明
tests-pipeline通过YAML定义的夜间调度运行,执行扩展回归测试release-pipeline需在tests-pipeline成功运行后自动触发,将最新构建包推送到各仓库
tests-pipeline运行正常,但release-pipeline无法自动触发,手动运行无问题,其YAML配置如下:
trigger: none pool: name: MyBuildPool demands: - Agent.OS -equals Windows_NT - Agent.ComputerName -equals <specific machine for release pipelines> resources: pipelines: - pipeline: tests_pipeline # 本流水线中使用的任意名称 source: tests-pipeline # ADO中定义的流水线名称 trigger: true # 当test-pipeline完成时运行本流水线
已确认的基础信息
- 两个流水线位于同一仓库和项目
- 均针对
main分支运行 - 已在ADO UI中将
release-pipeline的“手动和计划构建的默认分支”设为main tests-pipeline已配置发布工件(虽实际不需要,但有资料指出缺少工件可能导致触发器失效)
已尝试的排查动作
- 调整
tests-pipeline的名称,确保YAML中resources.pipelines.source参数与ADO UI显示的流水线名称完全匹配,试过缩短名称、移除空格、让名称匹配YAML文件名等操作,均无效 - 同一项目仓库内的实验性流水线对可正常触发,但真实流水线对无法触发
- 补充测试:将
release-pipeline的上游源从真实tests-pipeline切换到实验测试流水线后可正常触发,推测真实tests-pipeline的YAML调度触发器可能是问题所在 - 已通过ADO UI的“触发器”菜单设置“构建完成”触发器作为备选方案,但希望实现全YAML配置
内容的提问来源于stack exchange,提问作者Bob
相关产品推荐
相关产品推荐

