如何使用 Bitbucket Pipelines 将 dockerized Node 应用程序部署到 DigitalOcean 服务器?

时间:2021-06-10 06:59:13

标签: docker digital-ocean bitbucket-pipelines

我在 Bitbucket 存储库中有一个 NodeJS 项目,我正在努力理解如何使用 Bitbucket Pipelines 将它从那里获取到我的 DigitalOcean 服务器上,在那里它可以在网络上提供。

到目前为止我已经有了这个

sgr0

现在应用程序已经构建完成,应该在理论上的 image: node:10.15.3 pipelines: default: - parallel: - step: name: Build caches: - node script: - npm run build 目录中保存为单个文件 server.js

我现在如何对这个文件进行 dockerize,然后将它上传到我的 DigitalOcean? 我找不到任何此类示例。

我确实在 Bitbucket Pipelines 编辑器中找到了一个 Docker 模板,但它只是在某种程度上描述了创建 Docker 映像,而根本没有描述如何将其实际部署到 DigitalOcean 服务器(或任何地方)

/dist

1 个答案:

答案 0 :(得分:0)

您必须通过 SSH 连接到您的 DigitalOcean VPS,然后在那里执行一些步骤:

  • 拉取当前代码
  • 构建 docker 文件
  • 部署 docker 文件

一个例子可能是这样的:

在您的存储库根目录中创建一些像“deployment.sh”这样的脚本:

cd <path_to_local_repo>
git pull origin master
docker container stop <container_name>
docker container rm <container_name>
docker image build -t <image_name> .
docker container run -itd --name <container_name> <image_name>

然后将以下内容添加到您的管道中:

# ...
    - step:
        deployment: staging
        script:
          - cat ./deployment.sh | ssh <ssh_user>@<ssh_host>

不过,您必须为服务器上的存储库添加 ssh 密钥。查看以下链接,了解如何执行此操作:https://confluence.atlassian.com/display/BITTEMP/Use+SSH+keys+in+Bitbucket+Pipelines

这是一个类似的问题,但使用 PHP:Using BitBucket Pipelines to Deploy onto VPS via SSH Access