No description or website provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
.travis.yml
README.md
__init__.py
config.json.example
daemon.py
firewall.py
helper.py
main.py
server.py
test.py
webHook.py

README.md

WebHook自动部署脚本

Build Status

基于@rochacbruno的base http server脚本

Update

  • 17.03.22 version 0.4.3 增加自定义IP的allow与deny(请更新config.json文件)
  • 17.02.13 version 0.4 增加对GitHub的支持
  • 17.02.11 version 0.3 分离命令至config.json
  • 17.02.10 version 0.2 优化文件分布,结构美观;优化命令执行方式
  • 17.02.09 优化命令行操作 --help查看;美化命令行显示
  • 16.12.07 将具体hook的操作分离,方便用户自定义使用
  • 16.12.06 增加多线程,防止堵塞;增加本地日志记录
  • 16.11.25 version 0.1 集成coding的WebHook服务

Features

  • 目前支持coding.net、GitHub
  • 运行于Unix like,python >= 2.6
  • 必要的安全性验证
  • 多线程、不堵塞

TODO

  • 增加对event的指定hook操作
  • 增加安全:自动黑名单、白名单

Usage

Tips:

  1. Content type 设置为 application/json

  2. 服务器生成密钥并上传至git服务商

cp config.json.example config.json

vim config.json
# config.json
{
	"deploy_path": "/var/www/html", # 项目根目录
	"platform": "github", # git平台,目前支持github、coding
	"hook_token": "123", # token密钥,为空则默认不使用,接受一切请求
	"payloads": [ # 钩子执行的命令
		"sleep 3"
	],
	"ban_policy": "allow,deny", # ban的方式,支持allow、deny组合,allow只允许,deny只禁止
	"allow_ip": [
		"127.0.0.1"
	],
	"deny_ip": [
		"192.168.1.2"
	]
}
python main.py --help # for help
python main.py # Serving on localhost:8000
python main.py -h 0.0.0.0 -p 8080 # Serving on 0.0.0.0:8080

License

MIT