我知道各位大佬都不屑回答这种问题,但我真的折腾好几天了,之前做前端的,现在想学点后端,光开发环境就折腾死我了,一开始我只是想本地搭个玩玩,觉得不够酷,然后就买了个阿里云,部署到了阿里云后,感觉一直ftp上传也太low了,就开始想搭建一个github提交自动部署的环境,然后又开始折腾起docker来,没有基础,开始看社区版的cnode怎么搭起来的,结果折腾到现在,代码都没写几行,社区版的cnode还是没跑起来.快哭了,求各位大佬指条明路,我现在还要继续折腾么?我只是想玩玩个人项目,代码提交然后网站就能自动部署,我要怎么做才行,还是别折腾了?指条明路啊
这需要很多知识,linux 、jenkink 或者其他 ci 、docker
在机器上部署一个服务,用来接收git webhook,然后用shell脚本完成部署、方式简单、易学易懂
// push event hook
if (branchName === 'xxx') {
spawn('/usr/bin/bash', ['deploy.sh', branchName]);
}
// deploy.sh
#!/bin/bash
cd /root/release
git fetch origin
git reset origin/$1 --hard
/usr/bin/cp -r ./* /root/$1/
cd /root/$1
npm install
gulp
pm2 reload $1
这方式的缺点是麻烦,不高端,都有点不好意思跟大家说我就是这么弄的…
pm2自带的部署功能好像不错:http://pm2.keymetrics.io/docs/usage/deployment/ 原理是在你的电脑上 pm2 deploy production 它就会发命令到服务器上的pm2,然后服务器上的pm2根据配置文件自动执行一系列操作。但这并不是你提交代码它就会自动执行的,你每次要部署时都要在你电脑上手动执行pm2 deploy production update