我无法让Jenkins通过SSH克隆BitBucket上的git存储库。它失败了以下消息:
Building in workspace /var/lib/jenkins/workspace/test
[ssh-agent] Using credentials git (git@bitbucket.org:<user>/<repo>.git)
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent] Java/JNR ssh-agent
[ssh-agent] Started.
Checkout:test / /var/lib/jenkins/workspace/test - hudson.remoting.LocalChannel@2b619bca
Using strategy: Default
Fetching changes from 1 remote Git repository
Fetching upstream changes from origin
ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway
hudson.plugins.git.GitException: Command "git fetch -t origin +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: ssh: connect to host bitbucket.org port 22: Connection refused
fatal: The remote end hung up unexpectedly
尝试使用
形式的URL克隆构建中的存储库 git@bitbucket.org:<user>/<repo>.git
我也尝试过不使用凭据管理器并在/var/log/jenkins/.ssh/
中手动安装密钥,但无济于事。
任何想法我做错了什么?
答案 0 :(得分:6)
正如@ user1562655建议的那样,克隆因另一个问题而失败 - 在这种情况下防火墙阻止了端口22上的传出ssh。
修复是使用端口443(服务器允许这样做),以及不同的BitBucket URL:
ssh://git@altssh.bitbucket.org:443/<user>/<repo>.git
...而不是
ssh://git@bitbucket.org:<user>/<repo>.git
有关该计划的更多信息,请点击此处:
答案 1 :(得分:0)
我遇到了同样的问题,实际上这个解决方案帮了我:
vim ~/.ssh/config
添加这些行并保存。
Host github.com
Hostname ssh.github.com
Port 443
Host bitbucket.org
Hostname altssh.bitbucket.org
Port 443
取自https://gist.github.com/goddoe/5692bfc3cdc374d918a87882963edf36