Hexo利用WebHook自动更新

前言

  博主的Hexo并没有直接部署在本地机器或者VPS上,而是通过Cloud Studio => 腾讯开发者平台(原coding) => VPS这样的流程来更新博客,这就导致每次改动博客或更新博文变得很繁琐,所以博主决定用WebHook来精简流程,即Cloud Studio => VPS,本文为过程记录。

WebHook

维基百科

  网页开发中的网络钩子(Webhook)是一种通过自定义回调函数来增加或更改网页表现的方法。这些回调可被可能与原始网站或应用相关的第三方用户及开发者保存、修改与管理。术语“网络钩子”由杰夫·林德塞(Jeff Lindsay)于2007年通过给计算机编程术语“钩子”(Hook)加上前缀得来。

原理图

1.png

宝塔WebHook

  博主对WebHook本身并没有兴趣,也不想去手动实现,这里博主用的是宝塔面板所集成的插件,非常简单方便,避免各种折腾。
  首先在软件商店处安装宝塔WebHook,然后点编辑将以下shell代码复制粘贴进去(可根据需求修改):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"

#此处填写你的web站点路径,即博客在VPS的存放路径
gitPath="/www/wwwroot/..."

echo "Web站点路径:$gitPath"

#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
git pull origin master
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi

  然后点查看密钥将密钥组成以下格式,并复制粘贴到腾讯云开发者平台(原coding)WebHook处(githubgitee同理)。

1
http://宝塔面板地址:端口/hook?access_key=密钥

  至此,每当你push更改到你的博客远程仓库,VPS都会自动同步。

2.png

3.png

注意事项

  • 最好不要开启面板SSLWebHook容易出现证书错误等问题。
  • 要用ssh的方式连接远程仓库,如果是https的方式,在git pull的时候需要提供帐号密码。
-------------本文结束❤感谢阅读-------------

本文标题:Hexo利用WebHook自动更新

文章作者:三水非冰

发布时间:2019年09月01日

最后更新:2019年09月01日

原始链接:https://www.sanshuifeibing.cn/posts/c492b8e7.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

如果觉得我的文章对您有用,请随意打赏,您的支持将鼓励我继续创作。