我遇到了一个问题,就是无法让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
所采取的步骤
- 创建SSH密钥对。
- 将公钥作为部署密钥添加到BitBucket上的仓库中。
- 在Jenkins凭据管理器插件中安装SSH密钥和用户名(已尝试使用“git”和我的BB帐户名)。
尝试使用以下形式的URL在构建中克隆存储库:
git@bitbucket.org:<user>/<repo>.git
我还尝试过不使用凭据管理器,手动将密钥安装在/var/log/jenkins/.ssh/
中,但是没有成功。
有什么想法我做错了吗?
/var/lib/jenkins/.ssh
目录下,帮助我解决了类似的问题。 - austinmarton