【问题标题】:Error while fetching a Bitbucket private repository获取 Bitbucket 私有存储库时出错
【发布时间】:2017-09-29 02:47:00
【问题描述】:

我正在使用 Openshift 3 服务。我正在尝试从我的私人 Bitbucket 存储库中获取数据。通过使用 PuTTy for Windows,我创建了公共和私有 SSH 密钥。公钥已作为访问密钥成功加载到 Bitbucket。然后,我通过 Openshift Web 控制台为我的应用程序创建了一个新密钥,将其设置为 SSH,加载了一个私钥并将此密钥与构建器服务链接。在此之后,我修改了构建配置并为我的 Bitbucket 存储库设置了一个具有所需名称的秘密(从下拉框中选择)。但是当我运行构建过程(“开始构建”)时,我收到错误“获取源失败”。我的构建日志中有几行:

Cloning "ssh://bitbucket.org/<my_name>/<my_private_repo>.git" ...
error: build error: Warning: Permanently added 'bitbucket.org,104.192.143.3'  (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

是否可以从 Web 控制台设置构建过程?提前感谢您的任何建议。

【问题讨论】:

  • 您是否已将第二个公钥添加到 bitbucket?
  • 你能告诉我你是什么意思吗?我添加了一个公钥作为所需存储库的访问密钥。这对的私钥我在 Openshift 中用作秘密。
  • 您已经在 Openshift 中创建了第二个密钥对,对吧?您是否在 Bitbucket 的访问控制中添加了第二个公钥?
  • 我创建了一对密钥。公立和私立。公钥被加载为 Bitbucket 所需存储库的访问密钥,私钥在 Openshift 中用作机密。是你的意思吗?
  • 如果您还没有阅读以blog.openshift.com/… 开头的博客文章系列。另外,您究竟是如何将秘密添加到构建配置中的?您是使用oc set build-secret --source 命令还是尝试自己编辑构建配置。在阅读该系列博文时,请确保您阅读了所有博文,而不仅仅是关于 BitBucket 的博文,因为之前的博文对此进行了更详细的解释。

标签: git ssh openshift bitbucket


【解决方案1】:

为了让 OpenShift v3 与私有 BitBucket 存储库一起工作,我使用了以下内容:

  1. 在 OpenShift Web 控制台中,创建一个项目

  2. 使用您的 Bitbucket 登录信息创建一个秘密

    * Web 控制台版本 *

    • 在 Web 控制台中,单击面包屑中的项目名称,您将看到左侧菜单。

    • 选择资源 > 秘密

    • 点击创建密钥(右上角)

    • 离开基本身份验证

    • 输入秘密名称bitbucket

    • 输入您的 Bitbucket 用户名和密码

    • 点击创建

    • 点击添加到项目

    * 命令行版本 *

    • 添加用于存储您的 BitBucket 登录信息的密码:
$ oc登录 这应该选择您的项目,或者如果没有,请使用 oc 项目 PROJECTNAME $ oc secrets new-basicauth bitbucket --username=gregorifaroux --password=MY_PASSWORD $ oc 秘密链接生成器 bitbucket
  1. 在 Web 控制台中,我选择 Java & WilfFly

  2. 输入你的 Git URL:

https://gregorifaroux@bitbucket.org/gregorifaroux/MYPRIVATEREPO.git
  1. 单击“高级选项”链接,然后选择“秘密拉取”:
比特桶

它应该有效。如果您已经进行了构建,则可以单击编辑,然后单击高级选项来选择拉取密钥。

按照不同的博客和文档,我无法获得工作密钥。

【讨论】:

  • 嗨格雷戈里。您的意思是您还尝试使用 SSH 身份验证进行构建,但没有奏效?我对这种方法很感兴趣,最好不要使用 Openshift 命令行工具。
  • 是的,我尝试使用 SSH 身份验证,但它不起作用。我关注了多个文档和博客,但仍然无法正常工作。在可预见的未来,我使用 new-basicauth 作为解决方案。
  • @tvolf 我测试过,您可以使用 Web 控制台在构建之前使用 Bitbucket 登录信息创建密钥。希望对您有所帮助。