2017-01-30 981 views
6

我從Jenkins創建工作時遇到了以下錯誤。如何禁用Jenkins中的證書驗證?Jenkins Git集成 - 如何禁用SSL證書驗證

從Git Bash我可以使用git config --global http.sslVerify false命令來禁用它,但不知道如何使用它從詹金斯。

錯誤:

Failed to connect to repository : Command "C:\Program Files (x86)\Git\cmd\git.exe ls-remote -h url ofmy repository.git HEAD" returned status code 128: 
stdout: 
stderr: fatal: unable to access 'url of my git/': SSL certificate problem: self signed certificate in certificate chain 

回答

10

最好的選擇是自簽名證書添加到您的證書存儲

獲取服務器證書樹這可以使用Chrome來完成。

  1. 導航爲服務器地址。點擊掛鎖圖標並查看證書。將所有證書鏈導出爲base64編碼文件(PEM)格式。

  2. 添加證書到您的GIT信任配置文件 的信任鏈中的Git的bash的機器上運行的工作運行以下命令:

"git config --list".

找到http.sslcainfo配置這顯示了證書信任文件位於。 3.將所有證書複製到信任鏈文件中,包括"- -BEGIN- -""- -END- -"。確保將ROOT證書鏈添加到證書文件中

這應該可以解決您使用自簽名證書和使用GIT的問題。

不推薦

另一種方式是遠程連接到你的奴隸,運行以下命令:

git config --global http.sslVerify false

這將保存到全局配置,這種情況從來不會SSL驗證,這是不推薦,它只能在測試時使用,然後再次禁用。它應該像上面那樣正確地完成。

+0

感謝lot.Adding自簽名證書到證書存儲解決這一問題。這非常有幫助 –

0

我有同樣的問題。 首先,我使用Git使用外殼腳本,在克隆或拉動之前禁用SSL驗證。

後來我切換到使用JGit,而不是按預期工作(儘管它不推薦使用)。 但是,對於JGit,不支持淺層克隆等一些功能。

AFAIR我沒有安裝任何東西使用JGit

0

您可以使用JGit並可以通過創建一個的.gitconfig文件中JENKINS_HOME本線修復:

[http] 
sslVerify = false