Jenkins Git插件:连接存储库失败,返回状态码128。

10

我正在尝试克隆一个远程的GitHub企业级存储库,但在将我的远程仓库URL添加到Jenkins配置中的Git插件后遇到以下错误:

hudson.plugins.git.GitException: Command "/usr/bin/git -c askpass=true fetch --tags --progress https://github.com/myUsername/myProject.git  refs/heads/*:refs/remotes/origin/*" returned status code 128: stdout: stderr: fatal: unable to access https://github.myOrg.com/myUsername/myProject.git/': Failed to connect to github.com port 443: Operation timed out    at... 

配置细节和我尝试过的事情:

  • Jenkins的URL默认为http://localhost:8080/(收到警告:“请设置有效的主机名,而不是localhost”)
  • 所有所需的依赖项都已安装到Git插件
  • 我已添加git凭据以授权访问组织的远程存储库
  • 我尝试使用个人(非企业git帐户)凭据和存储库将其添加到插件中,但结果相同
  • 我已将“Git可执行文件路径”设置为“git”和“/usr/bin/git”
  • 我可以通过命令行和浏览器连接到Git

问题:

  • 我是否需要为Jenkins提供身份验证(ssh密钥),以便使用/克隆我的远程存储库?
  • Jenkins为什么会发出有关保留默认URL的警告?这是否意味着我需要将Jenkins放在除本地计算机之外的其他位置?
我已经排除故障几天了,但现在对我的问题不确定!请帮帮我!!

1
这个 答案 可能会解决你的问题。我已经成功地解决了自己的问题。 - Yantao Xie
3个回答

5
  1. 关于您的第一个问题 - 您需要将正确的ssh密钥与适当的存储库关联。您可以在/var/lib/jenkins/.ssh/config文件中执行此操作 - 详细的说明在这里,这是一种更强大的解决方案,支持多个git repos。或者,您可以将正确的ssh密钥添加到/.ssh文件夹中。如果出现故障,请尝试在jenkins用户下在jenkins框内克隆github存储库。

  2. 关于您的第二个问题。以下是我的jenkins网络设置,我没有警告信息:/etc/hosts127.0.0.1 localhost localhost.localdomain /etc/sysconfig/network: HOSTNAME=localhost.localdomain。您的主机名和localhost也应该在jenkins服务器内解析。


谢谢回复 - 我现在对于如何将Jenkins+Git集成有了更好的想法!另外,网络设置片段非常有用,感谢您的帮助。如果我无法使其正常工作,我很可能会再次寻求帮助! - NicholasKyleHoffman

1

如果您使用的是gitlab.com,有点奇怪的是,当您使用从Jenkins克隆项目时使用的gitlab帐户登录到网站(gitlab.com)时,错误似乎已经消失了。


1
问题已解决。按照这里的步骤生成新的密钥。作为jenkins用户登录终端(sudo -i -u jenkins)。最终成功将新生成的密钥添加到/Users/Shared/Jenkins/.ssh/id_rsa中。(我试图复制我的其他ssh密钥在mac上存储的方式,即在/Users/me/.ssh中)。
  • 我还必须限制上述SSH密钥文件夹的权限级别,以避免获取错误并使用ssh -T进行身份验证,并添加到git->帐户设置->ssh密钥(专门针对jenkins)。

  • 之后,我进入Jenkins /configure并将我的新私钥位置添加到CVS。在我的项目中,我必须添加凭据(SSH用户名和私钥),选择"从Jenkins主机~/.ssh"单选按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接