不觉间这个博客已经弄了小半年了,确实更新频率太低,而且每次发布的时候比较麻烦,虽说hexo提供了好多部署方式方法,试了下rsync
方案感觉是特别好用, 另外这个博客作者不止一个,还有权限问题。
hexo自带git部署不过好像和我的需求不太一样
现在的方案
现在傻傻的方案是这样的,有个git仓库,每次写完了先push
一下,然后到hexo的工程里面hexo generate
一下,生成HTML之后手动rsync
到web服务器上
虽然不复杂,但是步骤比较多,每次都得重复,本着DRY原则, 还是要把过程自动化
切入点
很明显,希望自动化整个过程的话就是在push
之后来操作了,那么这就又有两条路,客户端和服务端,客户端就是现有方案了,所以瞄到服务端去,在服务端收到提交的代码之后来操作,于是git hook
就是顺理成章了。
Git hook (post-receive)
git的hook那是十分的方便,详细在这
在服务端仓库里面的hooks
文件夹里面添加一个文件,叫post-receive
, 赋予可执行权限,这个其实就是一个可执行的脚本,里面想写什么就写什么了
针对我这个是这样:
首先在本地文件夹clone
出一个项目来,装好hexo,写post-receive
1 | !/bin/sh |
最后把生成出来的public文件夹当作web服务器的根文件夹