CircleCI 无法访问私有存储库

Tur*_*key 5 bitbucket ssh-keys circleci flutter

我们有一个 Flutter 应用程序,它使用私有存储库作为依赖项。

SSH 密钥已添加到 CircleCI,并且使用相同的密钥在本地远程访问存储库工作得很好。

该配置已添加到.circleci/config.yml

- add_ssh_keys:
  fingerprints:
    - "84:1a:so:me:ke:y:14:31:0f"
Run Code Online (Sandbox Code Playgroud)

但 CircleCI 始终无法访问私有依赖项 repo ,并给出以下错误:

“在项目中运行“flutter pub get”...Git错误。命令:git clone --mirror git@bitbucket.org:our_account/priv_repo.git /home/circleci/development/flutter/.pub-cache/git/cache/priv_repo-3456accd54b38ec5b3820944f77e90ce2ddc9887 stdout:stderr:克隆到裸存储库'/home/circleci/development/flutter/.pub-cache/git/cache/priv_repo-3456accd54b38ec5b3820944f77e90ce2ddc9887'..警告:将 IP 地址“18.205.93.1”的 RSA 主机密钥永久添加到已知主机列表中。未经授权致命:无法从远程存储库读取。

请确保您拥有正确的访问权限并且存储库存在。退出代码:128”

有人成功创建了包含私有存储库依赖项的 CircleCI 部署吗?
可能缺少什么导致此问题?

Tur*_*key 2

好吧 - 有几件事我做错了,

主要的一个是我把add_ssh_keys线放错了地方。
它确实需要是第一步,或者至少是在这flutter/install_sdk_and_pub一步之前。

例如。这是可行的(但如果该add_ssh_keys步骤位于此处 4 个步骤列表的底部,那么它会失败):

    steps:

      - add_ssh_keys:
          fingerprints:
            - "84:1a:so:me:ke:y:14:31:0f"

      - checkout
      - aws-cli/setup:
          profile-name: example
      - flutter/install_sdk_and_pub:
          flutter_version: 2.5.3
Run Code Online (Sandbox Code Playgroud)

除此之外,值得注意的是,我将 SSH 密钥添加为“附加 SSH 密钥”类型密钥(添加“用户密钥”破坏了部署)(位于项目设置 > SSH 密钥下),
并且我设置了主机名获取“ bitbucket.org ”的密钥。

所以 CircleCI 现在成功引入了我的私人仓库依赖项。
它在版本控制不匹配的问题上失败了,但这是另一个问题,应在其他时间解决。