Отказано в разрешении BitBucket Pipeline ssh на Digital Ocean (publickey)

Я уверен, что это не первый вопрос к BitBucket Pipeline и Digital Ocean, но я безуспешно просмотрел несколько подобных сообщений.

pipelines:
  default:
    - step:
        name: SSH to Digital Ocean and update docker image
        script:
          - ssh -i ~/.ssh/config [email protected]
          - 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

Вот ключ SSH в моем репозитории BitBucket Отказано в разрешении BitBucket Pipeline ssh на Digital Ocean (publickey)

Вот что показывает мне BitBucket Pipeline:

Отказано в разрешении BitBucket Pipeline ssh на Digital Ocean (publickey)

Как я могу решить эту проблему?


1
610
1

Ответ:

Решено

Это не ключевая проблема — дело в том, что контейнер Pipelines не работает как обычный терминал, а ssh ожидает терминал при нормальной работе. Вы должны иметь возможность передавать команды для запуска в качестве аргументов для команды SSH: ssh -i /path/to/key user@host "docker rm -f mycontainer && docker image rm -f myrepo/imagename:tag" и т. д.