# GiteeWebHook **Repository Path**: jishichang/GiteeWebHook ## Basic Information - **Project Name**: GiteeWebHook - **Description**: 一个基于node.js开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维系统,仅支持:Gitee。 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 12 - **Created**: 2020-12-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Auto Deployment #### 项目介绍 一个基于node.js开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维系统,支持:Gitee。 现在绝大多数git仓库管理平台都支持设置一个回调URL,包括github、Gitee、Coding等。当开发者在本地push代码到远程时,就会向该URL发起请求,接收该请求的服务器可以在本地运行一个配置好的命令。 #### 软件架构 node.js + gitee-webhook-handler + loger4js + pm2 推荐使用pm2进程管理器,能够监听代码改动,并自动重启。 #### 安装教程 1. 克隆源码 git clone git@gitee.com:geshuyong/GiteeWebHook.git #或 git clone https://gitee.com/geshuyong/GiteeWebHook.git 2. 安装服务 npm install 3. 修改配置文件config.js { os: "linux", //系统类型:windows\linux path: "", //WebHook POST路径,根据实际设定 secret: "", //请求密码,根据实际设定 port: 1314 //WEB Hook服务端口号 } 4. 配置命令脚本,将脚本添加至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." 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