Azure DevOps流水线禁用浅克隆失败,GitVersion无法正常运行
解决Azure DevOps流水线浅克隆无法禁用的问题
针对你遇到的fetchDepth: 0设置后仍为浅克隆的问题,可以尝试以下几种方案:
检查流水线全局浅克隆设置
Azure DevOps流水线的全局设置可能会覆盖YAML配置。进入流水线编辑页面,切换到「选项」标签,找到「Git shallow fetch」选项,确保该选项处于禁用状态(未勾选)。补充fetchRefs参数
尝试在checkout任务中添加fetchRefs: true参数,确保拉取所有Git引用,完整配置如下:- checkout: self fetchDepth: 0 fetchTags: true fetchRefs: true persistCredentials: true clean: false displayName: Checkout full repository手动执行unshallow命令
如果上述配置仍不生效,可在checkout后添加脚本强制转换为完整克隆:- script: | git -C $(Pipeline.Workspace)/s fetch --unshallow git -C $(Pipeline.Workspace)/s fetch --tags displayName: Convert to full repository and fetch tags该命令会将浅克隆转为完整克隆,并拉取所有标签,满足GitVersion对完整仓库历史的需求。
排查代理缓存问题
部分Azure DevOps代理可能会缓存克隆状态,尝试重启代理或使用新的代理实例,避免缓存的浅克隆仓库被重复使用。
内容的提问来源于stack exchange,提问作者Eduard Keilholz
相关产品推荐
相关产品推荐

