我无法让Git与Jenkins合作。我在Windows 2008服务器计算机上使用gitblit设置了私有git repo。我在gitblit创建了一个帐户供jenkins使用(即:用户名:jenkins,密码:密码,公司:test)。我已经使用ssh和https创建了证书并允许访问。
使用命令提示符,我可以通过在命令行中键入以下命令来使克隆工作:
git clone ssh://jenkins@repo.test.com:29418/testrepo/WebApp.git c:\test
上面的命令在检索代码之前要求我输入密码。由于我试图在Jenkins中编写脚本,我尝试:
git clone ssh://jenkins:password@valrepo.test.com:29418/testrepo/WebApp.git c:\test
但是我收到以下错误:
ssh: Could not resolve hostname jenkins: no address associated with name
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
好吧,让我试试https命令吧。所以我尝试以下方法:
git https://jenkins@valrepo.test.com/r/testrepo/WebApp.git C:\test
但出现以下错误:
fatal: unable to access 'https://jenkins@valrepo.test.com/r/testrepo/WebApp.git/': SSL certificate problem: self signed certificate in certificate chain
所以我想为什么不尝试使用sslVerify = false命令。我在命令提示符下尝试以下操作:
git -c http.sslVerify=false clone https://jenkins@valrepo.test.com/r/testrepo/WebApp.git C:\test
并且它在命令提示符下工作。但是,当我在Jenkins中尝试将其作为脚本命令时,Jenkins最终会挂起而不下载任何内容。不知道为什么。
我尝试过的其他事情是使用内置的Git插件,但我也无法使用它。
关于如何在Jenkins中使用它,我的想法已经不多了。有人有经验吗?
答案 0 :(得分:0)
我可以通过使用PSEXEC(Jenkins在系统帐户下运行)登录系统帐户并使用以下命令将证书添加到git repo来修复它:
git config --global http.sslCert path/to/jenkins.pem
openssl rsa -in path/to/jenkins.pem -out path/to/jenkins.key
git config --global http.sslKey path/to/jenkins.key