因为平时常常使用 Node.js 写网站,为了方便部署写了这个基于 Coding WebHook 的自动部署应用:https://imlinhanchao.coding.net/public/deploy_node/deploy_node/git
部署服务端
- 将此 Node.js 项目部署在你的服务器上,端口号默认为3000,假设访问网址为:
http://domain.com:3000
。 - 将 script 目录下的 deploy-node 加入到系统命令中。
- 需安装
forever
npm 包,所有 Node.js 项目都将通过forever
管理。
自动部署设置
- 在 Coding 对应项目设置中,将服务器的 SSH 公钥添加到部署密钥。
- 执行
# deploy-node 项目名(英文) git-ssh地址 分支名 启动服务文件 deploy-node fresh git@git.coding.net:user/project.git master ./bin/www
- 部署完成后,会自动开启 log 监控。此时可以在网站操作监控 log 。确认没有问题后按下
Ctrl + C
退出监控。 - 在项目设置的 WebHook 添加 URL:http://domain.com:3000/webhook,若需 token 在服务端的 config.json 配置;
后续只要将代码提交到 master 分支,就会自动同步部署在服务器了。
后续开发计划
- 实现只需添加 WebHook 地址,即可实现部署,无需到服务器操作。
- 自动更新 Nginx 配置,分配子域名。
- 在项目中可动态查看管理的应用状态与 Log。
- 可动态切换应用分支。
- 同个应用可部署不同分支,比如测试分支。
本文参与 Coding 征文计划