Jenkins新建專案中原始碼管理Repository URL使用Git報錯:Failed to connect to repository : Command "git ls-remote -h......

散盡浮華發表於2016-10-12

 

之前部署了Gitlab+Gerrit+Jenkins持續整合環境,但在Jenkins中新建專案的原始碼管理"Repository URL"中新增git地址環節出現了問題,資訊為"Failed to connect to repository : Error performing command: git ls-remote -h http://×××××××××.git HEAD",如下圖:

原因分析:這是由於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地址,嘗試多刷幾次就可以了。

相關文章