You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps发布流水线Git克隆因文件名过长失败解决方案咨询

Azure DevOps Windows托管代理Git长路径检出问题解决方案

以下是经过验证的可行解决思路,按生效优先级排序:

1. 直接在官方检出任务中配置长路径参数

ADO 内置的Git检出任务支持直接注入Git配置参数,无需提前执行自定义脚本:

  • YAML流水线配置示例:
steps:
- checkout: self
  env:
    GIT_EXTRA_CONFIG: core.longpaths=true
  • 经典图形界面流水线:找到「获取源」配置板块,在「额外Git配置参数」输入框中添加core.longpaths=true保存即可。

2. 禁用默认自动检出,手动执行克隆流程

如果内置任务配置不生效,可跳过系统默认的检出步骤,自行控制克隆流程:

  • YAML流水线:先添加- checkout: none关闭默认检出
  • 经典界面:在「获取源」设置中勾选「跳过源代码下载」
  • 添加首个PowerShell任务,执行以下命令:
# 全局开启Git长路径支持
git config --global core.longpaths true
# 克隆对应仓库到工作目录,替换为你的仓库地址
git clone https://dev.azure.com/你的组织/你的项目/_git/你的仓库名 $(Build.SourcesDirectory)
# 切换到目标分支
git checkout $(Build.SourceBranchName)

3. 缩短基础工作路径

Windows路径总长度为代理工作目录基础路径+仓库内文件相对路径,缩短基础路径可直接降低总长度:

  • 自托管代理:重新配置代理时指定工作目录为根目录下的短路径,比如--work D:\a
  • 微软托管代理:手动克隆时指定检出目录为C:\r这类极短路径,可减少至少20字符的基础路径占用。

4. 兜底方案:临时简化仓库路径

如果以上方案都受环境限制无法使用,可先把仓库内的长文件名/深层目录改为短名称,部署到目标服务器后再执行重命名操作恢复原名。

内容的提问来源于stack exchange,提问作者Adhish Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:24:01