在Jenkins中配置GitLab存储库

我正在尝试配置Jenkins(在Windows Server2008上运行)以连接到GitLab6.0存储库(在Linux机器上)。

在本地窗口框中,我可以使用SSH URL在GitLab服务器上克隆项目。我在使用HTTP

URL时遇到了一些问题,但是我确实设法使用Eclipse插件通过HTTP与身份验证进行连接。

  • 在Jenkins项目配置屏幕上,我尝试过:

http://myserver.domain/mygroup/myproject.git

无法连接到存储库:

命令“ d:\ tools \ Git \ bin \ git.exe ls-remote -h

http://myserver.domain/mygroup/myproject.git

HEAD”

返回状态码128:

stdout:stderr:错误:访问时请求的URL返回错误:504

http://myserver.domain/mygroup/myproject.git/info/refs?service = git-

upload-

pack

致命:HTTP请求失败

当我在浏览器中尝试此URL时,会出现一个身份验证弹出窗口。如果输入我的电子邮件和密码,则可以成功下载分支机构和标签列表。

  • …好吧,所以我应该能够在URL中指定用户名和密码,对吗?

http://

username:password@myserver.domain/mygroup/myproject.git

…不:

http://

username:password@myserver.domain/mygroup/myproject.git/info/refs无效:这是git存储库吗?

  • Windows GUI使用SSH没有任何问题。

    …詹金斯似乎并不那么喜欢:

git@myserver.domain:mygroup / myproject.git

错误“请输入Git存储库”仍然存在,当我尝试保存配置时,我看到以下堆栈跟踪:

    Exception: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from 

{"value":"2",

"userRemoteConfigs":

{"url":"git@myserver.domain:mygroup/myproject.git",

"name":"origin","refspec":""

},

"branches":{"name":""},

"includedRegions":"","excludedRegions":"","excludedUsers":"",

"localBranch":"","relativeTargetDir":"","reference":"",

"scmName":"",

"gitConfigName":"","gitConfigEmail":"",

"pruneBranches":false,"skipTag":false,"clean":false,"remotePoll":false,

"disableSubmodules":false,"recursiveSubmodules":false,

"authorOrCommitter":false,"wipeOutWorkspace":false,"ignoreNotifyCommit":false,

"useShallowClone":false,"":["","0"],

"gitTool":"Default",

"browser":{"stapler- class":"hudson.plugins.git.browser.FisheyeGitRepositoryBrowser"}

Stacktrace:

javax.servlet.ServletException:

java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from {...}

at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:725)

...

Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from {...}

at hudson.model.Descriptor.newInstance(Descriptor.java:617)

...

Caused by: java.lang.NullPointerException

at hudson.scm.RepositoryBrowser.normalizeToEndWithSlash(RepositoryBrowser.java:85)

at hudson.plugins.git.browser.FisheyeGitRepositoryBrowser.<init>(FisheyeGitRepositoryBrowser.java:37)

  • 我尝试添加“ ssh”协议:

ssh://git@myserver.domain:mygroup / myproject.git

詹金斯立即做出反应:

stderr:ssh:myserver.domain:mygroup:没有与名称关联的地址

致命:无法从远程存储库读取。

请确保您具有正确的访问权限,并且存储库存在。

回答:

正如我评论:

也许Jenkins不支持scp语法(带有’ :‘)

 ssh://git@myserver.domain/mygroup/myproject.git

如“ 使用Amazonec2和git的.ssh配置中所提到的”,使用’:‘通常涉及一个’ ~/.ssh/config file,它将’:’之前的字符串解析为服务器,用户,端口和ssh密钥。

詹金斯可能会更好地理解git@myserver.domain/mygroup/myproject.git,而不是git@myserver.domain:mygroup/myproject.git

以上是 在Jenkins中配置GitLab存储库 的全部内容, 来源链接: utcz.com/qa/412769.html

回到顶部