Skip to content

HimiHL/webhook-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

前言

主要用于小项目托管在码云Coding等平台的项目进行自动部署,将 hook 运行,就可以运行一个轻型的HTTP服务器

可多项目部署,如有多个项目,增加多个 .json 文件配置即可,不需要重启hook进程

支持

  • 支持Linux平台下部署
  • 支持Git协议
  • 支持Http协议,需配置credential.helper
  • 支持自定义Shell脚本
  • 支持Gogs
  • 支持Coding
  • 支持Gitee

命令列表

hook             # 启动服务器,-p 缺省,默认 `7442`
hook -p 7442     # 启动监听端口为7442的服务器

hook -h          # 帮助信息
hook -s reload   # 重启
hook -s stop     # 强行停止 SIGKILL

路由列表

  • /

自动解析,将根据Header头中的参数自动解析

  • /gitee

解析码云的webhook通知,支持 ContentType: application/json

  • /coding

解析Coding的webhook通知,支持V2版本的通知、ContentType: application/json

  • /gogs

解析Gogs系列的webhook通知,支持ContentType: application/json

文件说明

  • git.sh

该文件是用于部署的,传的三个参数分别是 项目在本机的目录 项目的别名origin/master 项目分支

也可以在文件末尾追加其他处理: 比如正式版发布时需要批量替换URL等操作

可手动执行

./git.sh /home/wwwroot/abc origin/master master
  • hook.go

源码

  • user.project.branch.json

例如你的coding用户名/分组名为test,项目名称为 himiweb,部署分支为 master, 则文件命名为: test.himiweb.master.json

JSON配置解析

{
    "path": "项目在本机的目录,如 /home/wwwroot/abc",
    "head": "项目的别名,如origin/master",
    "password": "�hook的验证密码"
}
  • hook

Linux下可执行的二进制文件

  • log

系统运行时生成的Log文件

About

Go语言编写的git钩子webhook部署工具,Linux直接添加配置即可完成响应,支持gitee.com码云和coding.net

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published