2 Star 11 Fork 12

geshuyong/GiteeWebHook

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
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

空文件

简介

一个基于node.js开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维系统,仅支持:Gitee。 展开 收起
NodeJS
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/geshuyong/GiteeWebHook.git
git@gitee.com:geshuyong/GiteeWebHook.git
geshuyong
GiteeWebHook
GiteeWebHook
master

搜索帮助

Cb406eda 1850385 E526c682 1850385