从 Bitbucket 部署到 Digital Ocean 导致 bitbucket 管道错误或 Digital Ocean 密码提示

Deployment to Digital Ocean from Bitbucket results in error on bitbucket pipeline or password prompt on Digital Ocean

我目前有一个带有到 Digital Ocean 管道的 bitbucket 存储库。但是,Digital Ocean 并没有成功从 repo 中提取。

到目前为止我有:

我发现 bitbucket 端的管道出现故障。而且,如果我尝试手动 运行 pull.sh,系统会提示我输入 bitbucket 存储库的密码。

我是否错误地设置了 SSH?

请注意,我没有发现管道有任何语法错误。

在 Bitbucket 上

比特桶管道

变量 <user><host> 已正确配置。

image: atlassian/default-image:latest

pipelines:
  default:
    - step:
        deployment: staging
        script:
          - cat ./deploy.sh | ssh <user>@<host>
          - echo "Deploy step finished" 

Bitbucket SSH 密钥

关于数字海洋

授权密钥

Deploy.sh

位于/

echo "Deploy Script Started"
cd
sh pull.sh
echo "Deploy script finished execution"

Pull.sh

位于'/'

cd eg-api
git pull origin master
echo 'Repo: Local Copy Updated'
cd refgator-api
python3 refgator-api.py

我从 this answer 中找出了问题。

我最初使用 https 克隆了存储库,这意味着我总是会被要求输入密码。

更改 git 配置文件以使用 SSH url 允许我的脚本执行 git 拉取而无需密码。类似于下面的内容。

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@bitbucket.org:TheMightyLlama/therepo.git