Travis CI
CI是 Continuous Integration 的缩写,持续集成之意。
持续集成是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

具体配置
Hexo 搭建
这里使用Hexo+Next+GitHub Pages组合示范过程,具体过程不再赘述。网站源码放到src分支,博客的静态文件部署到master分支。
设置 Travis CI
登陆 Travis CI,使用 GitHub 账户登录,它会自动关联 GitHub 上的仓库。点击右上角用户查看 GitHub 仓库,并选择要启动的项目,这里选择yourname/yourname.github.io。
点击设置按钮,进入设置选项,如下图开启相关服务。

配置 Acess Token

创建新的Github token,勾选必要权限,起名随意,可叫(Travis-CI token)。必要权限如下。

复制生成的 token 并在 Travis CI 页面中配置Environment Variables。环境变量名称 GH_TOKEN,一定设置Log为不可见(private,有一把小锁显示),否则有安全隐患。
配置 .travis.yml
.travis.yml 放在仓库根目录下。
特别注意的是,由于主题配置文件_config.yml会有敏感信息,所以将其作为私有的子模块处理,clone 需要使用 Github token。
1 | language: node_js # 设置语言 |
Push 到 GitHub
在_posts目录下新建文章并 push 分支,登陆 Travis CI 即可发现已经检测到分支变化并开始构建,其中Job log记录了构建的过程。
坑
目前不清楚原因,Travis 中使用 gulp 压缩结果和本地不一样,导致 font-awesome 路径出错,干脆停用了,压缩效果其实一般般,如果不压缩图片的话,只能降低最多5%的空间。