我在 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
答案 0 :(得分:0)
您必须通过 SSH 连接到您的 DigitalOcean VPS,然后在那里执行一些步骤:
一个例子可能是这样的:
在您的存储库根目录中创建一些像“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