我正在尝试克隆一个远程 GitHub 企业存储库,但在将我的远程存储库的 URL 添加到 Git Plugin 后遇到了以下错误在我的 Jenkins 配置中:
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/ (收到警告:“请设置一个有效的主机名,而不是本地主机”)
- 已为 Git Plugin 安装了列出的所有依赖项
- 我已添加 git 凭据以授权我组织的远程仓库
- 我尝试将我的个人(非企业 git 帐户)凭据和存储库添加到插件,结果相同
- 我已将“Git 可执行文件的路径”设置为“git”和“/usr/bin/git”
- 我可以通过命令行和浏览器连接到 Git
问题:
- 我是否应该以某种方式提供身份验证(ssh key )仅供 Jenkins 使用/克隆我的远程存储库?
- 为什么 Jenkins 会在保留默认 URL 时发出警告?这是否意味着我需要将 Jenkins“放置”到本地机器以外的其他地方?
我已经对此进行了几天的故障排除,但我不确定此时我的问题是什么!请帮忙!!
最佳答案
关于您的第一个问题 - 您需要关联正确的 ssh key 具有适当的存储库。你可以在
/var/lib/jenkins/.ssh/config
文件 - 详细信息 explanation is here就支持而言,这是更强大的解决方案 多个 git repos 或者你可以将正确的 ssh key 添加到/.ssh
文件夹。对于故障排除,请尝试在 jenkins 用户下执行克隆 github repo 在你的 Jenkins 盒子里。关于您的第二个问题。这是我在 Jenkins 的网络设置 而且我没有警告信息:
/etc/hosts
:127.0.0.1 localhost localhost.localdomain
/etc/sysconfig/network
:HOSTNAME=localhost.localdomain
。您的主机名和本地主机也应该在 jenkins 服务器内解析。
关于git - Jenkins Git 插件 : Failed to connect to repository, 返回状态码 128,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32189765/