一个基于 Golang 开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维系统,支持:Github / GitLab / GitOsc/Gogs。
界面和开发思路参考于 [git-webhook](https://github.com/NetEaseGame/git-webhook) 。
在原作者的基础上解耦了WebHook和Server之间关系,实现了多对多关系。
因与服务器通信使用的是SSH方式,请注意保管服务器账号和密码。
同时支持 C/S 模式,配合[客户端](https://github.com/lifei6671/go-git-webhook-client/)可以实现不用SSH也可以远程执行命令。
当使用 C/S 模式时,server 的账号和密码是服务器端跟 Client 第一次通信时的认证信息,服务器端将通过 [http://remote](http://remote/) url/token 地址换取连接 WebSocket 的密钥,该密钥会作为 `x-smarthook-token` 请求头发送到客户端进行认证连接。
![image](https://static.oschina.net/uploads/space/2017/0406/094902_43qp_2903254.png)
![image](https://static.oschina.net/uploads/space/2017/0406/094902_19fm_2903254.png)
![image](https://static.oschina.net/uploads/space/2017/0406/094903_flTQ_2903254.png)
![image](https://static.oschina.net/uploads/space/2017/0406/094903_MraV_2903254.png)
![image](https://static.oschina.net/uploads/space/2017/0406/094904_6GR0_2903254.png)