webhook是一种可以让人远程调用的RPC指令集,可以实现更新github仓库后自动更新部署你的Hexo博客,当然几乎所有的你能想到的东西都能做,本文将详细讲解webhook自动化部署静态博客方法
adnanh/webhook
上面这个仓库支持在你的VPS 快速建立一个webhook 接口。然后利用 github webhook 通知你的 VPS 来拉取最新的代码部署
对于 webhook 来说,可以自己写一个脚本来接受信息,思路很简单,运行一个 HTTP Server
,监听服务器的某个端口,如果有消息传递过来,那么就运行事先写好的脚本,来完成 webhook 的功能即可。
安装 webhook
这里推荐三种安装方法,使用其中一种方法即可,github 下载速度可能很慢,推荐使用系统源安装的方式
法一:使用系统源的安装方式
如果是 Ubuntu 系统,可以直接使用下面的命令进行安装:
法二:使用 github 下载
webhook 的 release 链接,找到对应的选项 webhook-linux-amd64.tar.gz
右键复制链接 ,当前最新版本链接为
法三:Golang 环境下安装
首先安装 Golang 环境(这里略过),然后安装 webhook,这里注意需要已经设置了 GOPATH
配置 webhook
我们的 hooks.json 文件现在看起来是这样的:
注意:如果您更喜欢 YAML 格式,等价的 hooks.yaml 文件如下:
您现在可以使用以下命令运行 webhook:
它将在默认端口 9000 上启动,并为您提供一个 HTTP 终端:
更多配置参数
webhook/docs/Webhook-Parameters.md at master
实战
创建各种配置文件
利用 uuidgen 生成随机 ID
hooks.yaml
depHblog.sh
后台运行
反向代理
可以直接端口运行,当然上SSL 安全性更高!
这里使用 反向代理 复用443
宝塔面板 go 项目
调用测试
关联github仓库
上面命令测试成功之后就可以正式和 github 仓库关联起来了
后话
webhook 实际应用非常强大,只要你有想象力,几乎无所不能!
本文也在 hexo博客增强部署篇 一文中有提到。hexo 博客 系列文章越写越长,有兴趣可以再去看看,更新了很多东西了
参考&致谢
系列教程
全部文章RSS订阅
Hexo系列
HexoRSS分类订阅
[三万字教程]基于Hexo的matery主题搭建博客并深度优化完全一站式教程
- markdown 各种其它语法插件,latex公式支持,mermaid图表,plant uml图表,URL卡片,bilibili卡片,github卡片,豆瓣卡片,插入音乐和视频,插入脑图,插入PDF,嵌入iframe
笔记系列
Note分类RSS订阅
Gitbook使用系列
Gitbook分类RSS订阅
Gitlab 使用系列
Gitlab RSS 分类订阅