Jenkins Git 插件:无法连接到存储库,返回状态代码 128
Jenkins Git Plugin: Failed to connect to repository, returned status code 128
我正在尝试克隆一个远程 GitHub 企业存储库,但在将我的远程存储库的 URL 添加到 Git Plugin 后 运行 出现以下错误我的詹金斯配置:
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/
(收到警告:"Please set a valid host name, instead of localhost")
- 已为 Git Plugin
安装列出的所有依赖项
- 我已将 git 凭据添加到我组织的远程存储库中以进行授权
- 我尝试将我的个人(非企业 git 帐户)凭据和存储库添加到插件,结果相同
- 我已将 "Path to Git executable" 设置为 'git' 和“/usr/bin/git”
- 我可以通过命令行和浏览器连接到 Git
问题:
- 我是否应该以某种方式为 Jenkins 向 use/clone 我的远程仓库提供身份验证(ssh 密钥)?
- 为什么 Jenkins 会在离开默认 URL 时发出警告?这是否意味着我需要 'put' Jenkins 除了我的本地机器之外的其他地方?
几天来我一直在对此进行故障排除,但不确定此时我的问题是什么!请帮忙!!
关于您的第一个问题 - 您需要关联正确的 ssh 密钥
具有适当的存储库。你可以在
/var/lib/jenkins/.ssh/config
文件 - 详细 解释是
here 就支持而言,这是更强大的解决方案
多个 git 回购或者您可以将正确的 ssh 密钥添加到 /.ssh
文件夹。对于故障排除,请尝试在 jenkins 用户下执行 clone github repo
在你的詹金斯盒子里。
关于你的第二个问题。这是我在詹金斯的网络设置
而且我没有警告信息:
/etc/hosts
: 127.0.0.1 localhost localhost.localdomain
/etc/sysconfig/network
:HOSTNAME=localhost.localdomain
。您的主机名和本地主机也应该在 jenkins 服务器内解析。
问题已解决。按照步骤 here 获取新的注册机。
以以下身份登录终端:jenkins$ (sudo -i -u jenkins)。我最终能够将新生成的密钥添加到 /Users/Shared/Jenkins/.ssh/id_rsa
(我试图重现我的其他 ssh 密钥是如何存储在 /Users/me/.ssh 中的 mac 上的。
我还必须限制上述 SSH 密钥文件夹的权限级别以避免出现错误并使用 ssh -T.. 进行身份验证并添加到 git -> 帐户设置 - > ssh 密钥(专门用于詹金斯)。
之后,我进入 Jenkins /configure 并将我的新私钥位置添加到 CVS。在我的项目中,我必须添加凭据(SSH 用户名 w/private 密钥)并选中 "From the Jenkins master ~/.ssh" 单选按钮。
有点奇怪,但是如果你使用的是gitlab.com,当你使用用于克隆项目的gitlab帐户登录网站(gitlab.com)时,似乎错误消失了来自詹金斯。
我正在尝试克隆一个远程 GitHub 企业存储库,但在将我的远程存储库的 URL 添加到 Git Plugin 后 运行 出现以下错误我的詹金斯配置:
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/ (收到警告:"Please set a valid host name, instead of localhost")
- 已为 Git Plugin 安装列出的所有依赖项
- 我已将 git 凭据添加到我组织的远程存储库中以进行授权
- 我尝试将我的个人(非企业 git 帐户)凭据和存储库添加到插件,结果相同
- 我已将 "Path to Git executable" 设置为 'git' 和“/usr/bin/git”
- 我可以通过命令行和浏览器连接到 Git
问题:
- 我是否应该以某种方式为 Jenkins 向 use/clone 我的远程仓库提供身份验证(ssh 密钥)?
- 为什么 Jenkins 会在离开默认 URL 时发出警告?这是否意味着我需要 'put' Jenkins 除了我的本地机器之外的其他地方?
几天来我一直在对此进行故障排除,但不确定此时我的问题是什么!请帮忙!!
关于您的第一个问题 - 您需要关联正确的 ssh 密钥 具有适当的存储库。你可以在
/var/lib/jenkins/.ssh/config
文件 - 详细 解释是 here 就支持而言,这是更强大的解决方案 多个 git 回购或者您可以将正确的 ssh 密钥添加到/.ssh
文件夹。对于故障排除,请尝试在 jenkins 用户下执行 clone github repo 在你的詹金斯盒子里。关于你的第二个问题。这是我在詹金斯的网络设置 而且我没有警告信息:
/etc/hosts
:127.0.0.1 localhost localhost.localdomain
/etc/sysconfig/network
:HOSTNAME=localhost.localdomain
。您的主机名和本地主机也应该在 jenkins 服务器内解析。
问题已解决。按照步骤 here 获取新的注册机。 以以下身份登录终端:jenkins$ (sudo -i -u jenkins)。我最终能够将新生成的密钥添加到 /Users/Shared/Jenkins/.ssh/id_rsa (我试图重现我的其他 ssh 密钥是如何存储在 /Users/me/.ssh 中的 mac 上的。
我还必须限制上述 SSH 密钥文件夹的权限级别以避免出现错误并使用 ssh -T.. 进行身份验证并添加到 git -> 帐户设置 - > ssh 密钥(专门用于詹金斯)。
之后,我进入 Jenkins /configure 并将我的新私钥位置添加到 CVS。在我的项目中,我必须添加凭据(SSH 用户名 w/private 密钥)并选中 "From the Jenkins master ~/.ssh" 单选按钮。
有点奇怪,但是如果你使用的是gitlab.com,当你使用用于克隆项目的gitlab帐户登录网站(gitlab.com)时,似乎错误消失了来自詹金斯。