Jenkins无法克隆GitHub仓库:git ls-remote命令执行失败求助
解决Jenkins配置Git仓库时
git ls-remote -h错误的排查步骤 已安装Git和GitHub插件但仍触发Failed to connect to repository : Error performing git command: git ls-remote -h错误,按以下步骤逐一排查:
检查Jenkins全局Git路径配置
进入Manage Jenkins → Global Tool Configuration,找到Git配置项:- 确认
Path to Git executable填写的是服务器上Git的实际可执行路径,Linux下可通过which git、Windows下通过where git获取准确路径; - 点击
Test Git executable验证路径有效性,若提示版本信息则路径没问题,否则需修正路径或确保Git已正确安装在Jenkins服务器上。
- 确认
验证Git仓库URL与服务器连通性
- 检查配置的仓库URL格式是否正确:HTTPS格式为
https://github.com/用户名/仓库名.git,SSH格式为git@github.com:用户名/仓库名.git,避免拼写错误; - 在Jenkins服务器终端/命令行手动执行
git ls-remote -h 你的仓库URL,若手动执行也失败,说明是服务器与Git仓库的连接问题,需优先解决网络或认证问题。
- 检查配置的仓库URL格式是否正确:HTTPS格式为
排查认证与权限问题
- HTTPS方式:确保Jenkins凭证中配置的用户名/个人访问令牌正确,令牌需拥有仓库读取权限;可手动执行
git clone 仓库URL输入凭证测试是否能克隆成功; - SSH方式:确认Jenkins运行用户(如Linux的jenkins用户)的SSH公钥已添加至GitHub的SSH密钥列表,且私钥文件权限设为600(放在用户目录的
.ssh下);切换到Jenkins用户执行ssh -T git@github.com,若提示Hi 用户名! You've successfully authenticated...则认证正常。
- HTTPS方式:确保Jenkins凭证中配置的用户名/个人访问令牌正确,令牌需拥有仓库读取权限;可手动执行
检查网络与代理设置
- 若Jenkins在企业内网,进入
Manage Jenkins → Configure System配置正确的代理地址、端口,同时添加github.com到无需代理的主机列表; - 在服务器上执行
ping github.com或curl https://github.com,验证网络是否能正常访问GitHub。
- 若Jenkins在企业内网,进入
确认插件兼容性
进入Manage Jenkins → Plugins,检查Git插件和GitHub插件是否为最新稳定版,若存在版本兼容问题,更新插件后重启Jenkins再测试。
内容的提问来源于stack exchange,提问作者Miguel Mont
相关产品推荐
相关产品推荐

