将在 Digital Ocean 上部署的 Bitbucket YLM 管道

Bitbucket YLM pipeline to deploy on Digital Ocean

我正在按照 this 指南创建管道以将我的 Django 项目部署到 Digital Ocean,Ubuntu 18 droplet。

我做了什么

  1. SSH 密钥生成并添加到我的远程服务器和 bitbucket
  2. 已将 yml 文件与项目同步
  3. bitbucket-pipelines.yml
image: python:3.7.3

pipelines:
  default:
    - step:
        name: Build and test
        caches:
          - pip
        script: # Modify the commands below to build your repository.
          - pip install -r requirements.txt
          - nosetests test/autotests --with-xunit --xunit-file=nosetests.xml --with-coverage --all-modules
    - step:
        name: Deploy to <myserver>
        script:
          - cat <script>.sh | ssh <user>@<host>
          - echo "Deploy step finished"

错误 当我 运行 Bitbucket 上的管道时,我得到以下错误

nosetests test/autotests --with-xunit --xunit-file=nosetests.xml --with-coverage --all-modules
<1s
+ nosetests test/autotests --with-xunit --xunit-file=nosetests.xml --with-coverage --all-modules
bash: nosetests: command not found

问题

#!/usr/bin/env bash
echo "Deploy script started"
cd <project git directory>
git pull
sh <restart project>.sh
echo "Deploy script finished execution"
  • ssh <user>@<host> 需要在您尝试通过 SSH 连接的本地服务器上拥有用户 是您尝试连接的本地服务器的域或 IP 地址

  • 我应该如何在 cat <script>.sh 处更换 是您写入 Bitbucket 云存储库的 shell 脚本

  • 我应该如何替换 name: Deploy to <myserver> 可以保存名称文本,不管上面写什么

  • 请使用建议值,您应该可以开始了。所有这些都是 Bitbucket 云不保存的变量值,实际上是您在本地配置的值。