# git-webhook **Repository Path**: qiushunji/git-webhook ## Basic Information - **Project Name**: git-webhook - **Description**: git 仓库的钩子服务接口代码,处理git钩子 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-03 - **Last Updated**: 2022-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README > 参考https://gitee.com/geshuyong/GiteeWebHook.git # Auto Deployment #### 项目介绍 一个基于node.js开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维系统,支持:Gogs。 ##### 相关依赖库,有兴趣可以了解下 [github-webhook-handler](https://www.npmjs.com/package/github-webhook-handler) [gitee-webhook-handler](https://www.npmjs.com/package/gitee-webhook-handler) [git-webhook-handler](https://www.npmjs.com/package/git-webhook-handler)
#### 软件架构 node.js + git-webhook-handler + loger4js + pm2 推荐使用pm2进程管理器,能够监听代码改动,并自动重启。
#### 安装教程 1. 克隆源码 git clone https://gitee.com/qiushunji/git-webhook.git 2. 安装服务 npm install 3. 修改配置文件config.js { os: "linux", //系统类型:windows\linux path: "/git/webhook", //WebHook POST路径,根据实际设定 secret: "123456", //请求密码,根据实际设定 port: 1314 //WEB Hook服务端口号 } 4. 配置命令脚本,将脚本添加至cmd目录,脚本名称为:仓库名称.sh。WEB_PATH的值需根据实际项目位置设定。 #!/bin/sh WEB_PATH='/home/shunji/tomcat-9.0/webapps' 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." 5. 启动 #如果未安装进程管理pm2及pm2-intercom,则进行安装 npm install -g pm2 pm2 install pm2-intercom #如果已经安装pm2及pm2-intercom,直接运行下面的命令 pm2 start pm2.json pm2 monit # 可以通过此命令查看服务的状态 6. 在gitee的WebHooks中设定对应信息 设定要请求的服务器命令调用地址, 如: http://xxxxx.com:1314/url 设定密钥key,如: admin 设定好后进行测试,成功返回:{"ok":true} 7. 如果防火墙未开放,需配置。 firewall-cmd --zone=public --add-port=1314/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --query-port=1314/tcp