# 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