通过webhook实现博客网站自动更新

安装webhook

1
apt install webhook

创建一个钩子

1
mkdir test.json

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

点击webhooks

点击添加webhook

点击添加webhook

向仓库推送更新

当你看到这篇文章时,说明自动部署已经成功了

通过webhook实现博客网站自动更新

https://blog.c8h10n4o2.asia/8461/

作者

萌新知

发布于

2025-05-20

更新于

2026-07-20

许可协议