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

Azure Repos Git Checkout偶发返回状态码128的原因排查求助

排查Git克隆状态码128错误(Azure DevOps迁移后周期性出现)

先贴出错误日志以便定位:

04:51:50  ERROR: Error cloning remote repo 'origin' 04:51:50
hudson.plugins.git.GitException: Command
"C:\jenkins_opt\Git\bin\git.exe fetch --tags --force --progress
--depth=1 -- https://company@dev.azure.com/company/GLIMS/_git/glims_glims-bin
+refs/heads/*:refs/remotes/origin/*" returned status code 128: 04:51:50  stdout:  04:51:50  stderr: warning: -----------------
SECURITY WARNING ---------------- 04:51:50  warning: | TLS certificate
verification has been disabled! |

error: RPC failed; curl 56 Recv failure: Connection was reset 04:51:50
fetch-pack: unexpected disconnect while reading sideband packet
04:51:50  fatal: early EOF 04:51:50  fatal: fetch-pack: invalid
index-pack output

以下是针对性的排查思路:

一、网络连接稳定性排查

  • 链路连通性验证:在Jenkins服务器上持续执行tracert dev.azure.com或ping dev.azure.com -t,重点观察高峰构建时段的网络状态,看是否存在丢包、延迟突增或链路中断情况。
  • 带宽与并发限制:监控Jenkins服务器的网络带宽使用率,大量并发构建同时拉取多仓库可能导致带宽饱和,引发连接重置。可临时降低并发构建数,观察问题是否缓解。
  • 中间设备拦截检查:排查防火墙、代理、负载均衡等中间设备的配置,确认是否存在会话超时过短、并发连接数限制、HTTP长连接截断等规则,这类规则可能导致Git的HTTP传输中途断开。

二、Git客户端配置优化

  • 调整浅克隆参数:当前使用--depth=1的浅克隆,虽能减少数据传输,但网络不稳定时更容易触发early EOF错误。可暂时移除该参数,改用完整克隆测试;若问题消失,可尝试增大depth值(如--depth=10),同时添加以下Git配置提升网络容错性:
    • 增大HTTP POST缓冲区:git config --global http.postBuffer 524288000
    • 延长超时时间:git config --global http.timeout 300
    • 取消低速连接限制:git config --global http.lowSpeedLimit 0、git config --global http.lowSpeedTime 999999
  • 升级Git版本:旧版Git对Azure DevOps的HTTPS协议兼容性可能存在缺陷,升级至最新稳定版(如2.40+)后验证问题是否修复。

三、Jenkins构建策略调整

  • 启用构建重试:在Jenkins的Git仓库配置中设置“重试次数”,让失败的克隆任务自动重试,规避周期性的网络波动时段。
  • 分散构建时间:将高并发的构建任务分散到不同时间段执行,避免集中拉取仓库导致的网络拥堵。
  • 检查服务器资源:确认Jenkins服务器的磁盘空间是否充足、磁盘IO是否正常,磁盘瓶颈也可能间接导致克隆失败。

四、TLS证书验证修正

  • 日志中存在TLS证书验证禁用的警告,虽未必是直接诱因,但禁用验证可能导致部分网络设备拦截连接。建议启用TLS验证:
    1. 将Azure DevOps的根证书导入Jenkins服务器的系统信任存储;
    2. 执行git config --global http.sslVerify true,重新测试构建任务,观察连接稳定性是否提升。

五、Azure DevOps端核查

  • 服务状态确认:查看Azure DevOps对应区域的官方状态页面,确认是否存在周期性的服务维护或性能波动。
  • 仓库优化:若仓库体积过大,可拆分仓库或使用Git LFS管理大文件,减少克隆时的数据传输量,降低网络故障的影响概率。

内容的提问来源于stack exchange,提问作者Lieven Cardoen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:13:10