Jenkins新建项目中源码管理Repository URL使用Git报错:Failed to connect to repository : Command "git ls-remote -h......

时间:2023-12-12 20:21:44

之前部署了Gitlab+Gerrit+Jenkins持续集成环境,但在Jenkins中新建项目的源码管理"Repository URL"中添加git地址环节出现了问题,信息为"Failed to connect to repository : Error performing command: git ls-remote -h http://×××××××××.git HEAD",如下图:

Jenkins新建项目中源码管理Repository URL使用Git报错:Failed to connect to repository : Command "git ls-remote -h......

原因分析:这是由于git客户端版本过低造成的!
Jenkins本机默认使用"yum install -y git" 安装的git版本比较低,应该自行安装更高版本的git。

查看jenkins本机的git版本

[root@jenkins ~]# git --version
git version 1.7.1

卸载本机低版本的git,自行安装更高版本的git

[root@jenkins ~]# yum remove -y git            //或者使用"rpm -e --nodeps git"命令进行卸载
[root@jenkins ~]# git --version
-bash: /usr/bin/git: No such file or directory

接着进行git版本升级操作:下载并安装高版本的git,下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/

[root@jenkins ~]# yum -y install libcurl-devel expat-devel curl-devel  gettext-devel openssl-devel zlib-devel
[root@jenkins ~]# yum -y install gcc perl-ExtUtils-MakeMaker
[root@jenkins ~]# cd /usr/local/src/
[root@jenkins src]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.1.1.tar.gz
[root@jenkins src]# tar -zvxf git-2.1.1.tar.gz
[root@jenkins src]# cd git-2.1.1
[root@jenkins git-2.1.1]# make prefix=/usr/local/git all
[root@jenkins git-2.1.1]# make prefix=/usr/local/git install

添加git到环境变量

[root@jenkins git-2.1.1]# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
[root@jenkins git-2.1.1]# source /etc/bashrc

查看更新后的git版本和所在路径

[root@jenkins ~]# git --version
git version 2.1.1
[root@jenkins ~]# whereis git
git: /usr/local/git

接着登录jenkins界面,依次打开"系统管理" -> "系统设置" -> "Git" -> "Path to Git executable",在此处填入"whereis git"查询出的地址 + "/bin/git" (如上面"whereis git"的地址为"/usr/local/git",则应该填入 "/usr/local/git/bin/git") 并保存。

Jenkins新建项目中源码管理Repository URL使用Git报错:Failed to connect to repository : Command "git ls-remote -h......

最后再在Jenkins新建项目中源码管理Repository URL添加git地址,尝试多刷几次就可以了。