【问题标题】:Jenkins bitbucket integrationJenkins bitbucket 集成
【发布时间】:2016-08-20 08:38:08
【问题描述】:

我正在尝试将 Bitbucket 与 Jenkins 集成。我不想使用网络挂钩,因此我在 Jenkins 中使用了 SCM 轮询选项。

GIT 插件需要一个 bitbucket URL,我已经给出了我的 bitbucket 主项目 URL。我正在使用 SSH 进行身份验证。

我的 jenkins 服务器有一台从机,所以我在从机中为企业服务用户创建了一个 SSH 密钥对。我已经在用户的 bitbucket 帐户设置中给出了公钥,并在 jenkins 中给出了私钥。

但是当我输入存储库 URL 时,我收到以下错误消息:

无法连接到存储库:java.lang.IllegalStateException:无法打开会话,连接未通过身份验证。

我做错了吗?

【问题讨论】:

  • 您的私人 ssh 密钥是否受密码保护?
  • 欢迎来到 StackOverflow。请在此处添加您的错误消息作为报价。
  • 不,它没有密码保护。
  • java.lang.IllegalStateException:无法打开会话,连接未通过身份验证。这是我选择我提供的凭据时的错误消息。我在 jenkins Git 插件的凭据配置对话框中给出了 bitbucket 设置中的公钥和私钥。从机有一个企业用户帐户“foo”,同一个用户在 bitbucket 中有帐户。所以我在从机中创建了“foo”的 ssh 密钥对。
  • @VonC ,密码短语是否必须强制?

标签: git jenkins ssh bitbucket


【解决方案1】:

Jenkins 使用 jGit 作为 git 客户端,所以它在服务器中寻找私钥,而不是在从属服务器中,jGit 就是这样工作的。命令行 Git 将在 /user/.ssh 下的从属设备中查找密钥。在 Bitbucket 中添加了 Jenkins master 的公钥,它工作了

【讨论】:

    【解决方案2】:

    Jenkins 需要定义凭据才能连接到 SSH git URL。您需要定义一组新的凭据(带有私钥的 SSH 类型)并将私钥直接粘贴到 Jenkins UI 或将 jenkins 指向 Jenkins ma​​ster 上的私钥位置。 然后 - 定义 repo URL 后,您需要从下拉列表中选择正确的凭据。这应该可以解决您的连接问题。

    【讨论】:

    • 我做了同样的事情,但它显示身份验证错误。我已经定义了密钥。我在从机中创建了 ssh 密钥对,同一用户也有比特桶帐户。我在 bitbucket 中添加了公钥。
    猜你喜欢
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 2013-11-08
    相关资源
    最近更新 更多