设置webhook_webhook工具实现
# webhook工具
## webhook工作流程

## 安裝
由于`webhook`是golang開發(fā)的, 所以要先安裝`golang`
```
$ yum install -y golang
```
然后安裝webhook
```
$ go get github.com/adnanh/webhook
```
查看`GOPATH`找到安裝目錄
```
$ go env
>>>
GOPATH=/root/go
>>>
```
所以安裝目錄就是`/root/go/bin/webhook`
## 生成ssh key
要獲得`pull`權限, 需要把服務器的`ssh key`添加到(github, gitee, gitlab, gitea)上
```
$ ssh-keygen
一路回車
```
然后查看公鑰
```
$ cat ~/.ssh/id_rsa.pub
ssh-rsa JHGGGKGYUUGH..........GYUFGUYFUGKJIFGUTFUU root@xxx
```
把她添加到github或者gitee等網(wǎng)站的公鑰中, 就可以獲得pull權限
## Shell腳本編寫
```bash
#!/bin/bash
cd /www/wwwroot
if [ ! -d "webapp" ]; then
git clone [倉庫地址]
fi
cd webapp
git pull origin master
```
這里我們擬保存在`/home/webhook/webapp.sh`
**記得添加執(zhí)行權限, 和測試**
```
$ chmod +x webapp.sh
```
## hook配置和啟動
**hooks.json**
```
[
{
"id": "woc",
"execute-command": "webapp.sh",
"command-working-directory": "/home/webhook"
}
]
```
- id 顧名思義, 可以自定義
- execute-command 執(zhí)行腳本名稱
- command-working-directory 腳本所在目錄
支持多個
**啟動**
```
$ /root/go/bin/webhook -hooks hooks.json -verbose
后臺運行, 關閉終端也會運行
$ nohup /root/go/bin/webhook -hooks hooks.json -verbose > /dev/null 2>&1 &
```
然后你可以訪問
```
http://yourdomain:9000/hooks/{id}
````
并添加在`github webhook中`
## 參考
- [https://zhuanlan.zhihu.com/p/136364880](https://zhuanlan.zhihu.com/p/136364880)
總結
以上是生活随笔為你收集整理的设置webhook_webhook工具实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js导出的xlsx无法打开_vue将数据
- 下一篇: MySQL入门之事件