Azure DevOps YAML流水线引用模板仓库变更时意外触发构建问题咨询
触发原因
- 你配置的
trigger: none仅作用于流水线所属的当前主仓库的CI触发规则,对resources节点下引用的外部代码仓库资源不生效 - Azure DevOps对所有作为资源引用的Git仓库默认开启变更自动触发规则,只要被引用的仓库有符合条件的代码推送,就会触发所有引用它的流水线,不受主仓库触发配置的影响
- 如果你本次对模板仓库的操作是对
refs/tags/x.x.x标签进行了移动、重新打标等变更操作,也会被系统判定为资源变更触发构建
修复方案
你需要在引用的模板仓库资源配置下,显式添加独立的触发关闭规则,修改后的完整配置如下:
resources: repositories: - repository: templates type: git name: 'Project/Repo' ref: 'refs/tags/x.x.x' # 新增该行,禁用该模板仓库的变更自动触发 trigger: none trigger: none
如果后续需要针对模板仓库的特定分支、路径开启触发,可以自定义该trigger配置,语法和主仓库的trigger规则完全一致,示例如下:
trigger: branches: include: - main paths: include: - /template/*
内容的提问来源于stack exchange,提问作者zep426
相关产品推荐
相关产品推荐

