Azure DevOps Required template check 功能不生效问题问询
Azure DevOps Required Template 检查不生效排查方案
核心排查项
检查规则配置的模板路径是否完全匹配
Required Template规则对路径校验是大小写敏感、要求绝对路径完全匹配:- 配置规则时存储库需选择
OrgA/proj1/repoX,不能选择当前项目的repoY - 模板路径必须填写仓库内的绝对路径
/templates/set1/template1.yml,不能省略开头的/,也不能出现大小写拼写错误 - 规则绑定的模板分支必须和你实际引用的模板分支完全一致
- 配置规则时存储库需选择
检查检查规则的绑定对象是否正确
Required Template检查不会直接作用于管道本身,必须绑定到管道运行时会调用的受保护资源上才会触发,可选绑定对象包括:环境、服务连接、变量组、安全文件。如果你的主管道运行过程中没有调用任何绑定了该规则的受保护资源,检查会直接跳过不会触发。检查主管道的模板引用格式
Required Template仅校验顶级extends字段引用的模板,不生效的常见错误写法如下:- 没有用顶级
extends字段,而是在stages/jobs/steps层级用- template: xxx的方式嵌入模板,这种用法不会触发检查 - repository资源声明错误,主管道
resources.repositories段的配置示例如下:
resources: repositories: - repository: templateRepo # 自定义别名 type: git name: proj1/repoX # 跨项目格式为 项目名/仓库名 ref: main # 模板所在分支 endpoint: sc1 # 你配置的服务连接名 extends: template: /templates/set1/template1.yml@templateRepo # 必须和规则配置的路径+仓库别名匹配- 没有用顶级
检查权限配置
服务连接sc1对应的服务主体必须拥有OrgA/proj1/repoX的仓库读取权限,否则检查逻辑无法拉取模板信息,会直接跳过校验不会抛出错误提示。检查分支过滤规则
如果你在配置检查时设置了分支过滤条件,需要确认主管道运行的分支符合过滤规则,否则不会触发检查。
内容的提问来源于stack exchange,提问作者Srinivas Charan Mamidi
相关产品推荐
相关产品推荐

