代码拉取完成,页面将自动刷新
一个基于node.js开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维系统,支持:Gitee。 现在绝大多数git仓库管理平台都支持设置一个回调URL,包括github、Gitee、Coding等。当开发者在本地push代码到远程时,就会向该URL发起请求,接收该请求的服务器可以在本地运行一个配置好的命令。
node.js + gitee-webhook-handler + loger4js + pm2 推荐使用pm2进程管理器,能够监听代码改动,并自动重启。
克隆源码
git clone git@gitee.com:geshuyong/GiteeWebHook.git
#或
git clone https://gitee.com/geshuyong/GiteeWebHook.git
安装服务
npm install
修改配置文件config.js
{
os: "linux", //系统类型:windows\linux
path: "", //WebHook POST路径,根据实际设定
secret: "", //请求密码,根据实际设定
port: 1314 //WEB Hook服务端口号
}
配置命令脚本,将脚本添加至cmd目录,脚本名称为:仓库名称.sh。WEB_PATH的值需根据实际项目位置设定。
#!/bin/sh
WEB_PATH='/root/service'
WEB_USER='root'
WEB_USERGROUP='root'
echo "Start deployment"
cd $WEB_PATH
echo "pulling source code..."
git reset --hard origin/master
git clean -f
git pull
git checkout master
echo "changing permissions..."
chown -R $WEB_USER:$WEB_USERGROUP $WEB_PATH
echo "Finished."
启动
#如果未安装进程管理pm2及pm2-intercom,则进行安装
npm install -g pm2
pm2 install pm2-intercom
#如果已经安装pm2及pm2-intercom,直接运行下面的命令
pm2 start pm2.json
pm2 monit # 可以通过此命令查看服务的状态
在gitee的WebHooks中设定对应信息
设定要请求的服务器命令调用地址, 如: http://xxxxx.com:1314/url 设定密钥key, 如: admin
设定好后进行测试,成功返回:{"ok":true}
如果防火墙未开放,需配置。
firewall-cmd --zone=public --add-port=1314/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --query-port=1314/tcp
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。