使用Git与Jenkins一起使用私有git repo

时间:2015-11-18 19:36:45

标签: git jenkins

我无法让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中使用它,我的想法已经不多了。有人有经验吗?

1 个答案:

答案 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