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

2023-11-23

我无法让 Jenkins 通过 SSH 在 BitBucket 上克隆 git 存储库。它失败并显示以下消息:

Building in workspace /var/lib/jenkins/workspace/test
[ssh-agent] Using credentials git ([email protected]:<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 形式在构建中克隆存储库

    [email protected]:<user>/<repo>.git

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

有什么想法我做错了吗?


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

修复方法是使用端口 443(因为服务器允许这样做)和不同的 BitBucket URL:

ssh://[email protected]:443/<user>/<repo>.git

…代替

ssh://[email protected]:<user>/<repo>.git

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

在端口 443 上使用 SSH 协议和 Bitbucket-SSH

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 通过 SSH 访问私有 BitBucket 存储库 的相关文章

  • 如何从管道作业访问 git 分支名称?

    我有一个 Jenkins Pipeline 作业 配置为签出 git 存储库和特定的本地分支 如何在 Jenkinsfile 中获取本地分支的名称 我尝试加载git詹金斯插件 https wiki jenkins ci org displa
  • 合并后 Git 分支和提交历史记录

    我正在开发一个项目 单独 对于我开发的每个功能 我都会创建一个新分支 处理该功能 然后将其合并到 master 中 所以通常我不会同时在两个不同的分支上工作 也不会在一个分支上工作时接触master 当我合并一个分支时 我看到 使用gitx
  • 如何使用 Jenkins 声明性语法登录 docker?

    我的目标是使用声明性语法从 DockerHub 上的私有存储库中拉取 推送图像 我已经用 id 配置了我的凭据xxxxxxxxxxx 我知道我可以使用编程语法来做到这一点如图所示 https jenkins io doc book pipe
  • Jenkins 无法访问 SVN (https://)

    我创建了 Jenkins 项目 该项目在 SVN 上有文件 https repo xxx xxx svn priv 项目名称 https repo xxx xxx svn priv projectname 证书是自签名的 我的问题是 Jen
  • 为什么从网上下载Git 2.0,总是得到1.9.4的安装包?

    为什么从网上下载Git 2 0 总是得到1 9 4的安装包 为什么你不能在互联网上的任何地方找到一个不仅标记为 2 0 而且你下载的安装存档也标记为这样的 Git 安装程序包 例如 这个2 1 3 站点 http git scm com d
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • 如何登录ec2机器?

    我获得了 EC2 机器的一些登录信息 基本上是 ec2 X X X compute X amazonaws com 加上用户名和密码 如何访问机器 我尝试过 ssh ssh email protected cdn cgi l email p
  • 有什么方法可以从提交的消息中获取提交的 SHA 值吗?

    当做一个git tag 我并不总是擅长记住 HEAD 6 例如 是包含的还是排他的 鉴于我的大多数提交都以问题号为前缀 我想知道是否有一些神奇的命令可以从其消息的一部分中搜索提交 SHA 我知道这很容易做到git log并从那里开始工作 但
  • Jenkins Slave 自我注册

    我正在创建一个 Jenkins 主 从集群 但我无法找到一种方法让新的从服务器自动向主服务器注册 我当前的设置是运行一些 Terraform 脚本来创建主服务器和 5 个从服务器 然后我必须登录主节点并管理 Jenkins gt 管理节点
  • 如何使用 git 找到一个分支中但不在另一个分支中的所有提交?

    我有两个分行master and live Master是发展 分支并包含尚未准备好进入的提交live 如果在master需要进入的分支live树枝然后他们被樱桃采摘master to live 有时会做出承诺live分支然后是 樱桃摘入m
  • git rebase 吃了我的提交!为我翻译“git reflog”输出?

    我已经完成了五次提交 我想在推送它们之前将它们全部合并为一次提交 出于某种原因 我决定尝试通过与通常使用的不同的方式来做到这一点 FWIW 我试图按照此处的说明进行操作http gitready com advanced 2009 02 1
  • 为使用 SSH.NET SshClient.CreateShellStream 执行的命令 (sudo/su) 提供子命令

    我正在尝试使用 Renci SSH NET 从 C Web 应用程序连接到远程 Linux 服务器并执行 shell 脚本 我想一个接一个地运行脚本 但不知道如何运行脚本并读取输出并将其存储在标签中 我已经尝试了下面的代码 但无法一行接一行
  • 设置 git 别名,但调用它会给出“找不到命令”

    我想在 git 中设置一个别名来计算存储库中的总行数 因此我进入 Git Bash 并输入以下内容 git config global alias linecount ls files z xargs 0 wc l 我输入命令后 没有出现错
  • 始终执行代码和 python 脚本的结尾

    Python中有没有一种方法可以让代码块始终在程序末尾执行 除非kill 9 我们有一个 Jenkins 项目 它在构建过程中启动 python 脚本 如果开发人员决定中止工作 那么就会留下大量工件 这些工件可能 并且正在 影响未来的构建
  • 使用 C# 解码 Git 索引文件

    有没有关于Git索引文件内部结构的文档 从各种书籍中我知道它是二进制的并且包含暂存文件的 SHA 我知道 Git plumbing 命令有助于揭示索引内容 但是 例如 我自己使用 C 读取索引怎么样 我知道这个功能有几种实现方式 所以可以研
  • 如何编辑 git 中任何提交的提交消息? [复制]

    这个问题在这里已经有答案了 假设我有 3 个未推送的提交 现在我想更改第一次或第二次提交的提交消息 更改第三次提交的提交消息很简单 使用git commit amend 怎么做 回到子问题 是否有一个git commit amend对于先前
  • git GUI 中的 Git add (ctrl+A) 和 Stage to Commit (ctrl+T) 有什么区别?

    If git add CTRL A starts tracking changes AND stages changes to already tracked files why should I ever use Stage to Com
  • 如何在 Gitolite 配置中添加存储库的描述

    我正在使用 gitolite 为我的 GIT 服务器进行用户维护 除了仓库描述之外 一切正常 我已经在 gitolite conf 中设置了存储库的描述 例如 reponame repo description 早期版本 v3 x 之前 可
  • git repo 的 tar/untar 后,gitk 显示“本地未提交的更改,未签入索引”

    我有一个包含小型 git 存储库的目录 git status 和 gitk all 显示没有未提交的更改 如果我使用以下命令 tar 压缩该目录 tar czf git repo tar gz git repo 然后将此 tar 文件传输到
  • 无法卷曲 git 标签

    我想通过命令行卷曲 git 标签 curl O http someurl 但是当我尝试解压文件时它被破坏了 有谁知道问题是什么 You can curl来自 GitHub 等 git 存储库托管服务的 git 标签 因为它有专用压缩包服务

随机推荐

  • @RefreshScope 不工作 - Spring Boot

    我正在遵循此处描述的方法 https github com jeroenbellen blog manage and reload spring properties 唯一的区别是 就我而言 这些属性在多个类中使用 因此我将它们全部放在一个
  • Facebook 登录建议需要 HTTPS - 如何在 ASP.NET MVC 中为 Facebook 登录配置 HTTP 重定向 URL?

    Facebook 建议我使用 HTTPS 重定向 URL 而不是 HTTP 我一直在尝试找到一种方法来配置它来生成 HTTPS URL 目前它正在生成 HTTP URL http example com signin facebook sc
  • 数组的大小是在编译时确定的吗?

    当我在阅读有关数组初始化的内容时本教程 我发现了这个注释 type name elements 注意 方括号内的元素字段 表示数组中元素的数量 必须是常量表达式 因为数组是静态内存块 其大小必须在程序运行之前的编译时确定 据我所知 数组在运
  • 检查一个字符是否是Java中的特殊字符[重复]

    这个问题在这里已经有答案了 可能的重复 JAVA 检查字符串中是否有特殊字符 我是一名新手程序员 正在寻求帮助确定某个字符是否是特殊字符 我的程序要求用户输入文件名 程序读取文件中的文本并确定文本中有多少个空格 数字 字母和特殊字符 我已完
  • LARAVEL5 自定义登录

    我正在使用需要自定义登录的应用程序 我必须遵循这个流程 用户将进入登录页面 用户提交登录页面 应用程序将检查用户是否在数据库中 3 1 如果用户不在数据库中 会向第三方发送请求 检查是否登录成功 3 2 如果用户在数据库中 则验证密码 现在
  • statsmodel 中的 MNLogit 返回 nan

    我正在尝试在著名的虹膜数据集上使用 statsmodels 的 MNLogit 函数 当我尝试拟合模型时 我得到 当前函数值 nan 这是我正在使用的代码 import statsmodels api as st iris st datas
  • 有没有任何工具可以比较两个网页的结构?

    我从我们的创意团队收到 HTML 页面 然后使用它们构建 aspx 页面 我经常面临的一项挑战是让我输出的 HTML 与他们的完全匹配 我几乎总是把嵌套搞砸 div 位于我的页面和母版页之间 有谁知道在这种情况下有帮助的工具 可以比较两个页
  • 模拟输入上的点击事件 - JavaScript

    我试图通过点击来模拟输入标签的点击anchor标签 这样我可以隐藏输入并将图像包装在锚标签内 这可以使用 jQuery 触发函数来工作 但我不能让它只使用 普通 Javascript jQuery 版本 let fake fake fake
  • C# 中的柯里化表达式

    我正在尝试构建一个可以输入 Linq2SQL 的表达式树 以便它将生成一个漂亮的干净查询 我的目的是构建一个过滤器 将任意单词集与 AND 和 NOT 或 OR 和 NOT 结合在一起 因为我想改变我搜索的字段 所以我最好想组成一个列表Ex
  • 无法在 Mac High Sierra 上打开 UIAutomatorviewer

    我们有配备 High Sierra 10 13 6 的全新 MacBook 其他系统信息 JAVA Version java version 11 0 1 2018 10 16 LTS Java TM SE 运行时环境 18 9 内部版本
  • 在 Android 中创建带有可点击图像的网格视图

    我想创建一个带有可单击图像的网格视图 每当单击图像时 相应的值就会显示在网格视图下方 我面临的问题是在设计部分 我不知道如何设计这样的网格视图 每次我尝试这样做时 都会得到一些不好的结果 我目前还没有 Android UI 设计经验 我怎样
  • 使用 EmptyWorkingSet 有哪些副作用?

    我使用下面的代码来释放某些正在运行的程序的内存 因为我自己的程序需要大量内存资源才能运行得更快 DllImport psapi dll public static extern bool EmptyWorkingSet IntPtr hPr
  • 在 Python 中建模时检测多共线性或具有线性组合的列:LinAlgError

    我正在为具有 34 个因变量的 logit 模型进行数据建模 并且它不断抛出奇异矩阵错误 如下所示 Traceback most recent call last File
  • iowin32.h 中的 OF 宏

    我无法理解 minizip 的 iowin32 h 中的以下行 void fill win32 filefunc OF zlib filefunc def pzlib filefunc def Source 过时但仍然相关 什么是OF宏呢
  • Spring Boot (JAR),具有多个调度程序 servlet,用于使用 Spring Data REST 的不同 REST API

    我有一个项目 它使用 Spring Boot 生成一个可执行 JAR 该 JAR 通过 Spring Data REST 公开 REST API 它还与 Spring Security OAuth 集成 效果很好 我的问题如下 我希望为 R
  • Powershell-SetForegroundWindow

    使用 powershell 代码 我尝试更改窗口的位置 工作正常 并将该窗口 始终位于顶部 请在下面找到我的代码 Import Module C install WASP wasp dll for i 1 i le 300000 i all
  • 为什么我的 React 组件渲染了两次?

    我不知道为什么我的 React 组件渲染了两次 因此 我从 params 中提取电话号码并将其保存到 state 中 以便我可以通过 Firestore 进行搜索 一切似乎都工作正常 除了渲染两次 第一次渲染电话号码和零点 第二次渲染时所有
  • 如何在 C# 中根据 DTD 验证 XML 文档?

    我不想做任何花哨的事情 我只想确保文档有效 如果无效则打印错误消息 谷歌向我指出this 但似乎 XmlValidatingReader 已经过时了 至少 MonoDevelop 是这么告诉我的 编辑 我正在尝试迈赫达德的建议 但遇到了麻烦
  • 使用 Linux netfilter 将源 IP 地址从 struct iphdr* 转换为等效字符串

    我想将使用 netfilter 捕获的数据包中的源和目标 IP 地址转换为 char 在我的 netfilter 挂钩函数中 我有 sock buff skb argument 2 of hook function ip header is
  • Jenkins 通过 SSH 访问私有 BitBucket 存储库

    我无法让 Jenkins 通过 SSH 在 BitBucket 上克隆 git 存储库 它失败并显示以下消息 Building in workspace var lib jenkins workspace test ssh agent Us