使用Travis-CI持续构建Hexo博客
我是用的 Hexo+Github Page 来构建自己的博客。在 Github 创建your_github_name.github.io
仓库的时候,可以直接使用your_github_name.github.io
作为你的博客域名站点。详细的话,可以自己去 google 下使用 Hexo搭建个人博客。
写本文的原因是因为,每次我在写完一篇总结,提交了push之后。如果要更新到博客上,需要经历的过程就是:
1 | 提交源文件到仓库 |
我觉得如果提交源文件push之后能够直接发布到博客站点就好了。在网上搜了一圈,很多人的资料还是有些缺陷,自己踩了一路坑,所以有了本篇记录。
环境介绍
先介绍下我的博客环境,我用了两个repo:
一个是存博客源码的blog.git
,
另一个也就是用来做站点发布的chenzhijun.github.com.git
。
网上很多人喜欢用一个库,然后切换分支的做法。之前我也弄过,不过后来发现我经常弄错分支。反正repo不要钱,就无所谓,分开吧。其实就是懒。总之,自己爽就好。
实际操作
其实就是将生成的目录public下的所有文件当作了chenzhijun.github.com.git库下面的文件。
- 生成一个Personal access tokens.Token记得勾选如下权限,然后copy保存:
注册Travis-CI账号:https://travis-ci.org。我是直接使用github登陆的,方便。
激活需要进行CI的仓库:
点击仓库进去做配置,找到设置的地址:
配置环境变量等:
- 之后在博客根目录创建
.travis.yml
文件,我的文件内容为:
1 | language: node_js # 设置语言 |
- 在
_config.yml
中加入(这里如果是用hexo,应该一开始就会弄好了):
1 | # Deployment |
到这里,我们一个简单的ci就弄好了,你可以试着提交一个commit,然后push到你的仓库之后在travis-ci里面就能看到build日志了。
其实简单的原理就是:
- 向仓库
blog.git
提交commit; - travis-ci 自动构建
blog.git
,根据.travis.yml
的配置执行; - 运行
hexo g
之后,public
目录下文件更新; - 克隆
chenzhijun.github.com.git
仓库,将其命名为别名pub_web
,将public下的文件复制到pub_web
; - 将pub_web目录下的文件提交commit;
- push最新的文件到github。
特别注意 personal token只在仓库的https协议下有效,官网说的:Creating a personal access token for the command line
这样站点就更新了,如果你是在一个仓库下多个分支,我想应该也容易了。自己动手,丰衣足食。
相关参考: