从 Concourse 在 Bitbucket 上克隆 git 回购的问题

Issues cloning a git repo on Bitbucket from Concourse

因此,我在 Bitbucket 上有一个 git 存储库,我需要将其作为 Concourse 作业的一部分进行监控。存储库可用,我的 ~/.ssh 文件夹中有 SSH 密钥,具有正确的权限 (600)。在我的机器上,我可以 运行 'git clone git@bitbucket.org:/.git' 命令,并成功克隆 repo。但是,当我尝试将其作为 Concourse 资源进行监控时,它失败了。我究竟做错了什么?我是否缺少配置选项?

以下是我的流程,比较基础。


resources:
- name: dc
  type: git
  source:
    branch: master
    uri: git@bitbucket.org:<company>/<repo>.git


jobs:
- name: Build-docker
  plan:
  - get: dc
    trigger: true
  - task: build-image
    config:
      platform: linux
      image_resource:
        type: docker-image
        source:
        repository: ubuntu

     run:
        path: uname
        args: ['r']

我在 GUI 上看到的内容:

stderr:
Cloning into '/tmp/git-resource-repo-cache'...
Host key verification failed.
fatal: Could not read from remote repository.

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

当我 运行 在本地克隆 git 时我看到了什么:

git clone git@bitbucket.org:<company>/<repo>.git
Cloning into 'repo'...
Warning: Permanently added the RSA host key for IP address '18.205.93.1' to the list of known hosts.
remote: Counting objects: 50985, done.
remote: Compressing objects: 100% (26500/26500), done.
Receiving objects: 100% (50985/50985), 6.65 MiB | 11.19 MiB/s, done.
remote: Total 50985 (delta 39577), reused 31398 (delta 24283)
Resolving deltas: 100% (39577/39577), done.

您是否将私钥输入到某种 secrets.yml 文件中?并在设置管道时加载它? 例如

resources: - name: dc type: git source: branch: master uri: git@bitbucket.org:<company>/<repo>.git private_key: ((private_key))

然后试试

fly -t "org" set-pipeline -p "pipeline_name" -c "pipeline.yml file name" --load-vars-from "secrets_file.yml"

这可能行不通,因为我遇到了类似的问题,但你可以试试那个方法