Jenkins 错误 128 / Git 错误 403:Jenkins 无法连接到我的 Bitbucket 存储库
Jenkins Error 128 / Git Error 403: Jenkins can't connect to my Bitbucket repository
OS: Ubuntu 16.04
管理程序: VirtualBox
网络配置:带端口转发的Nat网络通过主机ip访问vms。我还可以从另一个 VM ping 一个 VM。
我尝试将托管在 VM 上的 Jenkins 应用程序连接到也在 VM 上的 BitBucket 服务器。我遵循了互联网上的教程,但是当我输入我的 git 存储库的地址时,我得到了这个:
Failed to connect to repository : Command "usr/bin/git ls-remote -h http://admin@192.168.6.102:8005/scm/tes/repository-test.git HEAD" returned status code 128:
stdout:
stderr: fatal: unable to access 'http://admin@192.168.6.102:8005/scm/tes/repository-test.git/': The requested URL returned error: 403
所以,为了确保我尝试在终端上执行命令......并且在终端上它似乎工作......我还可以推送,克隆,拉等......
On this image you can see that it's true
你有解释吗?
编辑:
我尝试了一些其他的事情,比如使用或不使用 sudo 来查看权限问题是否来自于此,但似乎并非如此。
But I see that there is no result when we use the "HEAD" argument.
您是否认为因为 "HEAD" 没有给出结果,jenkins 中的 git 将其解释为没有答案并且 returns 该死的 ** 错误 403?
编辑 2:
我在网上发现:http://jenkins-ci.361315.n4.nabble.com/Jenkins-GIT-ls-remote-error-td4646903.html
这家伙有同样的问题,但方式不同,我会尝试分配更多的内存,看看是否能解决问题。
可能存在很多问题,但您收到 403 - Access Forbidden,这表明权限存在问题。我建议第一个常见错误:
- a) 尝试使用 https 而不是 http - 我的 scm 只使用 https,
- b) 检查 admin 是否正确 - scm 默认使用 scmadmin。
Here I run the exact same command twice.
第一次使用代理配置需要上网,第二次设置强制服务器为“none”。
所以该死的代理有问题。
我在想代理没有用在与 VirtualBox 的 NAT 连接中...
我找到了解决方法。
我必须重新安装 jenkins 才能让名为 "jenkins" 的用户拥有自己的主目录。
我不知道它是否已链接,但我将我的 bitbucket 服务器配置为仅使用带有自签名证书的 HTTPS(我在 lan 中工作)
我的故障排除与我的代理设置有关。
我在 Linux 中禁用了所有代理设置,因此我能够使用终端启动在 jenkins 中不起作用的命令。
我使用 sudo su jenkins
登录,这些命令也有效。
我发现在 jenkins 用户的主目录中有一个 "proxy.xml" 文件。我打开它,看到了我的旧代理设置。
我用vim删除了所有内容,保存并重新启动,错误消失了。
可以有git版本不匹配.....
我建议您更新 git 一次。也许它会解决您的问题。
OS: Ubuntu 16.04
管理程序: VirtualBox
网络配置:带端口转发的Nat网络通过主机ip访问vms。我还可以从另一个 VM ping 一个 VM。
我尝试将托管在 VM 上的 Jenkins 应用程序连接到也在 VM 上的 BitBucket 服务器。我遵循了互联网上的教程,但是当我输入我的 git 存储库的地址时,我得到了这个:
Failed to connect to repository : Command "usr/bin/git ls-remote -h http://admin@192.168.6.102:8005/scm/tes/repository-test.git HEAD" returned status code 128:
stdout:
stderr: fatal: unable to access 'http://admin@192.168.6.102:8005/scm/tes/repository-test.git/': The requested URL returned error: 403
所以,为了确保我尝试在终端上执行命令......并且在终端上它似乎工作......我还可以推送,克隆,拉等......
On this image you can see that it's true
你有解释吗?
编辑:
我尝试了一些其他的事情,比如使用或不使用 sudo 来查看权限问题是否来自于此,但似乎并非如此。 But I see that there is no result when we use the "HEAD" argument.
您是否认为因为 "HEAD" 没有给出结果,jenkins 中的 git 将其解释为没有答案并且 returns 该死的 ** 错误 403?
编辑 2:
我在网上发现:http://jenkins-ci.361315.n4.nabble.com/Jenkins-GIT-ls-remote-error-td4646903.html 这家伙有同样的问题,但方式不同,我会尝试分配更多的内存,看看是否能解决问题。
可能存在很多问题,但您收到 403 - Access Forbidden,这表明权限存在问题。我建议第一个常见错误:
- a) 尝试使用 https 而不是 http - 我的 scm 只使用 https,
- b) 检查 admin 是否正确 - scm 默认使用 scmadmin。
Here I run the exact same command twice.
第一次使用代理配置需要上网,第二次设置强制服务器为“none”。
所以该死的代理有问题。 我在想代理没有用在与 VirtualBox 的 NAT 连接中...
我找到了解决方法。
我必须重新安装 jenkins 才能让名为 "jenkins" 的用户拥有自己的主目录。
我不知道它是否已链接,但我将我的 bitbucket 服务器配置为仅使用带有自签名证书的 HTTPS(我在 lan 中工作)
我的故障排除与我的代理设置有关。 我在 Linux 中禁用了所有代理设置,因此我能够使用终端启动在 jenkins 中不起作用的命令。
我使用 sudo su jenkins
登录,这些命令也有效。
我发现在 jenkins 用户的主目录中有一个 "proxy.xml" 文件。我打开它,看到了我的旧代理设置。
我用vim删除了所有内容,保存并重新启动,错误消失了。
可以有git版本不匹配..... 我建议您更新 git 一次。也许它会解决您的问题。