【问题标题】:Configure GitLab repository in Jenkins在 Jenkins 中配置 GitLab 存储库
【发布时间】:2013-09-01 08:17:00
【问题描述】:

我正在尝试配置 Jenkins(在 Windows Server 2008 上运行)以连接到 GitLab 6.0 存储库(在 linux 机器上)。

从我的本地 Windows 框中,我可以使用 SSH URL 克隆我的 GitLab 服务器上的项目。我已经使用 HTTP URL 获得了some issues,但我确实设法使用 HTTP 连接并使用 Eclipse 插件进行身份验证。

无法连接到存储库:

命令“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 时,我会弹出身份验证。如果我输入我的电子邮件和密码,我可以成功下载分支和标签列表。

...不:

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 - 您能否提交这个作为答案?

标签: git jenkins gitlab


【解决方案1】:

作为I commented:

也许 Jenkins 不支持 scp 语法(带有 ':')试试

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

如“.ssh config with amazon ec2 and git”中所述,使用“:”通常涉及~/.ssh/config file,它将“:”前面的字符串解析为服务器、用户、端口和 ssh 密钥。

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

【讨论】:

    猜你喜欢
    • 2012-09-16
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2019-05-15
    相关资源
    最近更新 更多