将Hexo博客的源码和发布的博文代码存储在同个Github Repo
的不同分支里,同时也对博客源码进行了备份。而通过Travis-CI,我们只需要简单地进行配置,就可以实现博客代码push后,博文代码的自动化部署,省略了手动发布的过程。
Travis介绍
Travis CI为软件开发领域提供在线的、分布式的持续集成服务。
目前,它只能用于绑定Github上面的项目。
它提供了一个运行环境。当你往Github仓库中Push了新的代码后,仓库的变更就会触发Travis CI的持续集成服务。执行测试,完成构建,再部署到服务器。
Travis接入
给项目接入 Travis CI分为以下几个步骤:
登录Travis CI
进入Travis CI官网,点击右上角的个人头像,就可以使用Github账号来登录了。
成功登录后,会看到如下界面,你登录账号的所有公开仓库都在列表里。
开启对应仓库
将你想要让Travis监听的仓库后面的复选框选择为打开的状态。
比如我给博客开启了自动部署,那么我的
ntnyq.github.io
这个仓库就是开启状态的。
编写配置文件
Travis需要读取项目根目录下的配置文件来决定构建过程需要进行的行为。
这个文件的名字必须是.travis.yml
。
仓库Push后,会触发Travis读取这个文件,然后执行文件中定义好的脚本,来执行构建过程。
我博客的.travis.yml
文件的内容如下,我在后面是加上了字段的含义。
1 | # Travis-CI config |
.yml
文件使用的是YAML
语法,这是一种以数据为中心专门用来编写配置文件的语言,非常强大。
它采用空格缩进,来实现类似JSON
的层级关系,并且支持注释功能。
想对
YAML
的语法有更多了解,推荐阅读YAML 语言教程-阮一峰
上面的配置中使用到了2个环境变量,但是在配置文件里我们只写到了一个。这是因为在git
推送代码的时候,需要你的github仓库权限。而出于安全性的考虑,这个用于验证token
不方便直接出现在配置文件中,所以GH_TOKEN这个环境变量的内容保存在travis-ci
的网站上,如下图所示: