Azure Pipeline跨仓库触发器失效:RepoA更新无法触发流水线
多仓库流水线触发失败排查
我将流水线YAML文件存储在名为Pipelines的仓库中,期望当另一个仓库RepoA发生更新时触发该流水线。参考微软官方文档《Check out multiple repositories in your pipeline》后,编写了如下流水线配置:
# YAML: Pipelines/test-pipeline.yml trigger: - develop resources: repositories: - repository: A type: git name: RepoA ref: main trigger: - main - develop steps: - checkout: self - checkout: A
预期触发逻辑
| 修改位置 | 是否触发流水线 | YAML版本 | self仓库版本 | A仓库版本 |
|---|---|---|---|---|
self仓库的develop分支 | 是 | 触发流水线的develop分支提交版本 | 触发流水线的develop分支提交版本 | main分支最新版本 |
A仓库的main分支 | 是 | main分支最新版本 | main分支最新版本 | 触发流水线的main分支提交版本 |
A仓库的develop分支 | 是 | main分支最新版本 | main分支最新版本 | 触发流水线的develop分支提交版本 |
实际问题
RepoA仓库的更新无法触发该流水线。我尝试了以下三种修改方案,均无效:
尝试1:添加RepoA的项目名称
trigger: - develop resources: repositories: - repository: A type: git name: MyProject/RepoA ref: main trigger: - main - develop steps: - checkout: self - checkout: A
结果:无效(注:Pipelines仓库与RepoA仓库同属MyProject项目)
尝试2:在RepoA的触发分支前添加refs/heads/前缀
结果:无效
尝试3:调整触发器为完整分支包含格式
trigger: - develop resources: repositories: - repository: A type: git name: MyProject/RepoA ref: main trigger: branches: include: - main - develop steps: - checkout: self - checkout: A
结果:无效
请问我是否遗漏了流水线或项目设置中的某些规则?
内容的提问来源于stack exchange,提问作者YuLun
相关产品推荐
相关产品推荐

