BitBucket Pipeline ssh to Digital Ocean Permission denied (publickey)

BitBucket Pipeline ssh to Digital Ocean Permission denied (publickey)

我确定这不是 BitBucket Pipeline 和 Digital Ocean 的第一个问题,但我已经浏览过几个类似的帖子,但没有任何运气。

pipelines:
  default:
    - step:
        name: SSH to Digital Ocean and update docker image
        script:
          - ssh -i ~/.ssh/config root@xxx.xxx.xxx.xxx
          - docker rm -f mycontainer
          - docker image rm -f myrepo/imagename:tag
          - docker pull myrepo/imagename:tag
          - docker run --name mycontainer -p 12345:80 -d=true --restart=always myrepo/imagename:tag
        services:
          - docker

这是我的 BitBucket 存储库中的 SSH 密钥

这是 BitBucket 管道向我显示的内容:

我该如何解决这个问题?

这不是关键问题 - Pipelines 容器不充当正常终端,但 ssh 期望终端处于正常运行状态。您应该能够将要 运行 的命令作为参数传递给 SSH 命令:ssh -i /path/to/key user@host "docker rm -f mycontainer && docker image rm -f myrepo/imagename:tag"