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

EC2上Jenkins配置公共GitHub仓库报git ls-remote错误求助

问题描述

在EC2实例上安装Jenkins服务后,配置公共GitHub仓库时抛出如下错误:

Failed to connect to repository : Error performing git command: git ls-remote -h public github url HEAD
Jenkins配置GitHub仓库报错截图
已尝试重装Git插件但问题未解决,同时已配置访问凭证(公共Git仓库理论上无需凭证即可访问)。

可行解决方案
  • 校验宿主机Git安装与配置
    Jenkins Git插件依赖EC2实例宿主机的原生Git程序执行命令,仅安装插件无法独立完成Git操作。登录EC2实例执行git --version检查是否已安装Git:
    • 若未安装,根据操作系统执行对应安装命令:
      • Amazon Linux/CentOS/RHEL:sudo yum install git -y
      • Ubuntu/Debian:sudo apt update && sudo apt install git -y
    • 安装完成后执行which git获取Git可执行文件的绝对路径(通常为/usr/bin/git),进入Jenkins后台「Manage Jenkins > Global Tool Configuration」页面,找到Git配置项,取消自动安装选项,将Path to Git executable填写为上述获取到的绝对路径,保存配置后重试。
  • 排查EC2到GitHub的网络连通性
    登录EC2实例,手动执行和Jenkins报错一致的命令git ls-remote -h <你的公共GitHub仓库HTTPS地址> HEAD,观察命令行执行结果:
    • 如果命令行执行同样失败,先检查EC2安全组、网络ACL是否放通到GitHub的443端口出站流量;私有子网内的EC2需要确认已配置可用的NAT网关/公网出口,VPC策略未拦截GitHub域名访问;若实例使用代理上网,需要在Jenkins的Git配置中添加对应代理参数。
    • 如果命令行执行成功,说明网络本身无问题,继续排查Jenkins侧配置。
  • 校验Jenkins运行用户权限
    Jenkins默认以jenkins用户运行服务,该用户权限不足会导致Git命令执行失败。执行sudo su - jenkins -s /bin/bash切换到Jenkins运行用户,再次执行上述git ls-remote测试命令:
    • 若切换用户后命令执行失败,检查该用户的环境变量配置、对Jenkins工作目录的读写权限,不要使用root用户运行Jenkins服务避免权限冲突。
  • 修正仓库URL与凭证配置
    公共GitHub仓库无需配置额外凭证,仓库地址直接使用标准HTTPS格式https://github.com/<仓库所有者>/<仓库名>.git即可,凭证下拉选项直接选择「无」,不要在URL中拼接用户名、Token等参数,错误的凭证配置反而会触发鉴权失败。
  • 排查Git版本兼容性
    若宿主机安装的Git版本低于2.3.0,和新版Jenkins Git插件存在兼容问题,执行git --version确认版本后,卸载原有低版本Git,添加Git官方软件源安装2.3.0以上版本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:18:21