当前位置: 首页 > 面试题库 >

Jenkins通过SSH访问私有BitBucket存储库

叶裕
2023-03-14
问题内容

我无法让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 Credentials Manager插件中安装SSH密钥和用户名(尝试过’git’和我的BB帐户名)
  • 尝试使用URL的形式在构建中克隆存储库

git@bitbucket.org:<user>/<repo>.git

我也尝试过不使用凭据管理器并手动将密钥安装在中/var/log/jenkins/.ssh/,但无济于事。

有什么想法我做错了吗?


问题答案:

正如@ user1562655建议的那样,克隆由于另一个问题而失败-在这种情况下,防火墙阻止了端口22上的传出ssh。

解决方法是使用端口443(服务器允许这样做)和其他BitBucket URL:

ssh://git@altssh.bitbucket.org:443/<user>/<repo>.git

…代替

ssh://git@bitbucket.org:<user>/<repo>.git

有关该计划的更多信息,请参见:

在端口443上使用带有Bitbucket-
SSH的SSH协议



 类似资料:
  • 问题内容: 我找到了一种方法来访问Jenkins中的凭据存储区: 但是现在我想获取我不能做的适当用户的密码… 我总是得到未知的方法等,如果我尝试访问passord等。 这样做的原因是使用此用户/密码来调用git并从存储库中提取信息。 我总是得到这样的东西: 在尝试了更多(以及Jeanne Boyarsky的暗示)之后,我发现我正在考虑编译。以下内容已为我提供了用户密码: 此外,通过使用以下代码片段

  • 问题内容: 我正在尝试使用Apache2设置Debian服务器作为运行Jenkins的Tomcat 7的前端-这正在工作- 但我希望Jenkins监视托管在bitbucket上的私有Mercurial存储库,并且我想使用SSH。(我曾尝试使用简单的https,但仍然没有喜悦- SO上有一个问题答案,建议使用ssh) 通过将Jenkins .WAR文件拖放到/ webapps中,我已经使用Tomca

  • 问题内容: Jenkins中建立一个托管在bitbucket上的项目时,我将在URL字段中输入什么? 该存储库是私有的。 问题答案: 我对Jenkins并不熟悉,但是Bitbucket允许您通过https克隆git存储库,https可以接受密码作为url的一部分,如下所示:

  • 我一直在努力研究如何利用BitBucket的Pipelines将我的(Laravel)应用程序自动部署到Vultr Server实例上。 我手动执行以下步骤,我正在尝试自主复制: 我我的更改并到比特桶回购 我使用终端登录我的服务器: 我 到正确的目录: 然后我从我的 BitBucket 存储库: 然后我运行一些命令:,等。 然后我注销: 我的理解是,你可以使用管道来实现自动化,这是真的吗? 到目前

  • 我在Linux(arch)上,试图使用ssh密钥在本教程之后使用私有bitbucket git存储库配置Spring Cloud Config,但我一直收到错误: 现在,根据教程,它应该工作: 如果您不使用HTTPS和用户凭据,SSH也应该在您将密钥存储在默认目录(~/. ssh)中并且uri指向SSH位置时开箱即用,例如"git@github.com:配置/云-配置”。重要的是~/. ssh/k

  • 问题内容: 我的Node.JS项目包含对托管在github上的私有NPM存储库的引用。在本地可以正常工作,但是我正在努力使其在Elastic Beanstalk上正常工作。 -- 我需要的是能够在我的Elastic Beanstalk实例上为git设置有效的SSH配置,而不必在源代码控制中存储秘密密钥等。 显然,EB实例没有访问我的私人github仓库所需的SSH密钥。如果我将HTTPS样式的gi