个人博客用Hexo+Next已经很方便了,但是仍然存在不足,就是我有好几个常用的工作PC,所以需要在每个PC上安装一套node.js/pandoc等依赖,实在是有些麻烦。所以我希望像github pages+jekyll一样,只用上传markdown就能自动构建出网站。这样我的repo中也可以很干净,只需要写markdown文本就行了,本地不需要安装任何依赖。
Travis CI
首先在Github的设置https://github.com/settings/tokens里配置一个token,用来让Travis CI能够push文件到Github Repos里。
然后在Travis CI里和Github账户绑定,在Github Pages项目上建立一个任务。
配置文件如下,其中要在Travis CI这个项目的环境变量里添加GH_TOKEN
和GH_REF
,其中前者是第一步获取的token,后者是你的Github仓库地址,例如github.com/li-positive-one/li-positive-one.github.io
。
把这个配置文件命名.travis.yml
,放到github仓库的根目录下,Travis就会自动识别并根据配置文件进行构建。
1 | # .travis.yml |
参考资料:
【1】使用 Travis CI 实现 Hexo 博客自动部署
Netlify
Netlify似乎专业做静态网站构建和自动Deploy,所以在这方面体验确实非常好,好到什么地步了呢?
只需要github仓库授权,告诉他我的构建命令是hexo g
,deploy的文件在public
目录下,其余的事情它自己全部解决了!不需要写任何配置文件,网站就一次pass了,包括pandoc之类的依赖似乎他都自己解决掉了。总之,生成网页非常方便,而且构建速度也比Travis CI快不少。因为Travis CI每次构建都需要安装依赖,而Netlify的依赖可能都保存下来了,我看构建的log中每次只需要hexo g
就结束了。
但是Netlify都是构建在它自己的网站上的,所以有一个问题就是Netlify在中国大陆地区的访问似乎不是很稳定。所以我还是没有把鸡蛋都放在这一个篮子里。Github和Travis CI一起上岂不是更好,两开花~ 两开花~