阿宝定制Coding专版webhook

阿宝门 8e9e81597c update README.md 6 months ago
LICENSE 5fed6d0652 Initial commit 6 months ago
README.md 8e9e81597c update README.md 6 months ago
deploy.js 5655446ff5 new file deploy.js 6 months ago
deploy.sh 8f70b47de0 new file deploy.sh 6 months ago

README.md

1、下载二进制文件

wget https://nodejs.org/dist/v6.11.3/node-v6.11.3-linux-x64.tar.xz
tar xf node-v6.11.3-linux-x64.tar.xz
mv node-v6.11.3-linux-x64 node 
mv node /usr/local/

2、配置环境变量 配置NODE_HOME,进入profile编辑环境变量

vim /etc/profile

设置nodejs环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

#set for nodejs
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

:wq保存并退出,编译/etc/profile 使配置生效

source /etc/profile

验证是否安装配置成功

node -v

首先我们新建一个项目目录,然后用 npm init 新建一个项目,填写里面的各种信息,最终生成 package.json 文件。 然后安装

npm i -S coding-webhook-handler

要注意的是,我们程序的运行方法是 node index.js,可以为它绑个命令:npm start。其实我们还可以为 npm 设定更多命令。 还有代码这行:

var handler = createHandler({ path: '/', secret: 'root' })

其中secret后的参数是你在github的项目中添加webhook时设置的secret值,替换成自己的就行了 完成deploy.sh脚本 deploy.sh脚本负责进入项目的目录,然后利用git命令拉取最新的代码,还是直接贴代码: deploy.sh 会接受第一个参数当做项目名字,然后进入这个项目的目录执行git操作,这个参数是在deploy.js中根据hook返回的项目名字来的,代码应该比较容易懂,都是些简单的git命令。 如果是全新的项目,需要在你的服务器上先clone要部署的项目 你需要根据自己的实际项目位置,修改WEB_PATH的值 后台运行deploy.js 利用Linux提供的nohup命令,让deploy.js运行在后台

nohup node deploy.js > deploy.log &

Run Node Server Forever 我在实际使用的时候发现,我的 Node 服务器时不时会自动停掉,具体原因我暂时还没有弄清楚。不过似乎很多人都遇到了这样的困扰,要解决这个问题,forever 是个不错的选择。借助 forever 这个库,它可以保证 Node 持续运行下去,一旦服务器挂了,它都会重启服务器。 安装 forever:

npm install -g forever

运行:

cd { 部署服务器的根目录 }
forever start deploy.js