安装webhook
创建一个钩子
test.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| [ { "id": "这里填你webhook的名字,我没试过中文,也没试过带标点符号", //运行起来的效果是http://yourserver:9000/hooks/id里面你写的内容 "execute-command": "这里填你要执行的脚本的路径,没有就把这一行删了", "trigger-rule": { "match": { "type": "value", "value": "这里填你设置的密钥或者密码巴拉巴拉小魔仙", "parameter": { "source": "header", "name": "X-Gitee-Token" //是的,我的仓库在gitee上,其他平台请自行查阅手册或者问ai } } } } ]
|
其他参数请查阅webhook的文档
https://github.com/adnanh/webhook/blob/master/docs/Templates.md
脚本的编写
1 2 3 4 5 6
| #!/bin/bash
cd /path/to/ #你hexo的路径,或者git能pull的地方
{ echo "=== 执行时间:$(date +"%Y-%m-%d %T") ===";git pull origin master; } >> /你想保存的路径/名字.随便的后缀没有都可以 2>&1 #将执行的结果加上时间保存在文本里 # 如需重启服务,可在此添加:systemctl restart your-service,当然我需要重启的是容器,是不会用这条命令的
|
运行钩子
1
| webhook -hooks test.json & #可以添加-verbose参数查看执行日志
|
仓库的设置
博主的仓库在gitee,下面以gitee为参考
打开仓库点击管理

点击webhooks

点击添加webhook

向仓库推送更新
当你看到这篇文章时,说明自动部署已经成功了