Azure DevOps Pipeline使用extends模板时找不到模板文件如何解决
Azure DevOps流水线模板文件找不到问题排查与解决
可能原因
- Git文件名大小写不敏感问题:Windows、macOS系统默认文件系统大小写不敏感,且Git默认开启
core.ignorecase配置,本地修改文件名大小写不会被Git识别为变更,导致远程仓库实际文件名和本地不一致,触发大小写敏感的Azure DevOps文件校验失败。 - 相对路径解析异常:Azure DevOps流水线的模板路径解析逻辑在部分场景下会出现相对路径偏移,即使两个文件处于同一目录,也可能无法通过直接写文件名的方式正确定位。
- 提交版本不匹配:本地已有的文件变更未推送到报错提示的对应commit版本,或运行流水线时指定的是未上传文件的旧版本。
解决方法
- 校验并修复文件名大小写
- 执行命令
git config core.ignorecase false关闭本地Git的大小写忽略配置 - 对比本地文件名和远程仓库master分支对应commit版本的文件名,确保
TFPipeline-shared.yml的大小写和TFpipeline-dv.yml中引用的名称完全一致,存在差异的话重命名文件后重新提交推送
- 执行命令
- 显式指定模板绝对路径
将TFpipeline-dv.yml中的extends配置修改为基于仓库根目录的绝对路径写法:extends: template: /pipelines/TFPipeline-shared.yml - 核对提交版本
执行命令git ls-tree 报错中提示的commit哈希值 pipelines/,核对指定版本的pipelines目录下是否存在模板文件,缺失的话将本地文件推送至对应分支即可。 - 核对流水线运行配置
确认运行流水线时选择的源分支为master,未手动指定其他分支或旧的commit版本运行。
内容的提问来源于stack exchange,提问作者JakeUT
相关产品推荐
相关产品推荐

