静态博客Webhooks部署脚本

静态博客Webhooks部署脚本

1
2
3
4
5
6
7
cd /home/git/blog/blog

git fetch --all # 确保总是可以获取最新的commit
git reset --hard origin/master
hexo g
rm -rf /www/wwwroot/lolimay.cn/*
mv ./public/* /www/wwwroot/lolimay.cn/

踩坑

准备在服务端使用 hexo g 渲染时,出现 Error: spawn pandoc ENOENT 的错误

ENOENT 表示不存在,谷歌后发现 pandoc 是一个 markdown 解析器,在本地电脑上执行 which pandoc 输出为 /usr/bin/pandoc,因此猜测出错原因可能是服务器上缺少相应的 pandoc 可执行文件。

直接使用 yum install pandoc 命令安装后,再次执行 hexo g 仍然出现错误,但是错误的内容变成了 unrecognized option --smart。怀疑是 yum 安装的 pandoc 版本过低。使用 pandoc --version 对比了一下本地与服务器上 pandoc 的版本,本地的版本是 2.0+ 而服务器上才 1.3+。尝试去 Github 上下了一个最新的 pandoc 可执行文件,并把 /usr/bin 中的 pandoc 替换最新版本的 pandoc (2.7),最后终于成功解决了问题。