流水线第一步 Checking out Revision 一直转圈,十几分钟后超时,控制台里连一句认证失败的报错都没有,手动执行同样的命令却能过。日志里能对上时间点,这种反而好排。

凭据绑到了错误的 id,私有仓库用 SSH 地址又没配 known_hosts,git 在等交互输入口令,进程就静静挂在那里,界面上只会一直转圈,不会有任何提示。这一点先确认清楚,后面就不用反复试。

GIT_TERMINAL_PROMPT=0 git fetch origin main
git config --global http.postBuffer 524288000
# Jenkinsfile
options { skipDefaultCheckout(true) }

「Jenkins 拉代码卡住」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。

日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

处理上按这个顺序:先用带凭据的 HTTPS 地址手工验证一次 确认凭据本身可用;关掉交互提示 让失败立刻暴露出来 别等它自己超时;大仓库开浅克隆 减少拉取的数据量 构建也能快不少。

结果对不对很好判断,控制台里 checkout 半分钟内结束,失败时能看到明确的认证错误,不再卡在第一步。

作者 9823189