github-webhook 小工具
文章目录
【注意】最后更新于 December 10, 2019,文中内容可能已过时,请谨慎使用。
最近写了一个小工具, 用来接收github webhook消息, 以在服务器上自动执行脚本
github hook server
一个用来接收webhook的server
环境
golang v1.11+ (因为用到了go mod)
安装
执行:
|
|
创建文件 main.go
|
|
执行命令
|
|
app
这个二进制文件就是本体了, 放到合适的地方, 执行:
|
|
后台启动, app 同目录下会创建 scripts
, logs
两个目录, 和一个 hook.pid
保存pid
检测是否启动:
|
|
说明服务已经启动成功, 服务地址为0.0.0.0:8080
接口
0.0.0.0:8080/ping
检测接口0.0.0.0:8080/push
接受github webhook请求, 根据 Repository.Name 去判断执行什么脚本
可用指令
|
|
目录功能:
- logs 存放请求日志
- scripts 存放hook脚本, 当有对应库名的请求进来, 将执行配置好的脚本
- hook.pid 存放进程pid
配置文件
|
|
特性
- 一键初始化
- 平滑重启, 信号通信
- 支持secret验证
- 异步执行脚本
- 规避重放
- 脚本传递参数(TODO)
- 事件钩子(TODO)
依赖组件
github地址
文章作者 GPF
上次更新 2019-12-10 (77997d9)