【发布时间】:2013-09-01 08:17:00
【问题描述】:
我正在尝试配置 Jenkins(在 Windows Server 2008 上运行)以连接到 GitLab 6.0 存储库(在 linux 机器上)。
从我的本地 Windows 框中,我可以使用 SSH URL 克隆我的 GitLab 服务器上的项目。我已经使用 HTTP URL 获得了some issues,但我确实设法使用 HTTP 连接并使用 Eclipse 插件进行身份验证。
-
在我尝试过的 Jenkins 项目配置屏幕上:
无法连接到存储库:
命令“d:\tools\Git\bin\git.exe ls-remote -h http://myserver.domain/mygroup/myproject.gitHEAD”
返回状态码 128:
stdout: stderr: error: The requested URL returned error: 504 while access
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
Jenkins 立即做出反应:
stderr: ssh: myserver.domain:mygroup: 没有与名称关联的地址
致命:无法从远程存储库读取。
请确保您拥有正确的访问权限并且存储库存在。
【问题讨论】:
-
可能 Jenkins 不支持 scp 语法(带 ':')试试 ssh://git@myserver.domain/mygroup/myproject.git
-
谢谢 VonC - 您能否提交这个作为答案?