title: 通过Travis CI对Hexo博客进行持续集成
date: 2018-05-21 14:16:40
tags:
- hexo
categories: - Tips
本篇文章是我自己搭建了一个Travis.ci环境以自动发布hexo博客的一个实践。
Hexo 简介
Hexo 是一个Node.js上搭建静态博客的工具,其最吸引我的特点就是可以通过Markdown来写博客。本博客就是采用Hexo搭建的。我在搭建博客的时候参考了以下资料
根据以上说明可以通过Github Pages搭建一个自己的博客。但是由于是静态页面,每次更新都要从一个Node.js环境上运行Hexo。有没有办法可以简化这个过程呢?
Travis CI简介
引用廖雪峰的官方网站对Travis CI的介绍。
Travis CI是在线托管的CI服务,用Travis来进行持续集成,不需要自己搭服务器,在网页上点几下就好,用起来更方便。最重要的是,它对开源项目是免费的。
其中CI代表持续集成(Continuous Integration),这是一种自动编译和发布代码的技术。而Travis CI在线提供了这种服务,并且可以与Github无缝衔接。接下来就简单介绍一下我是如何配置Travis CI的。
简单配置
1 通过Githun账号登录Travis CI
打开Travis CI,选择Sign In With Github即可。
2 配置Personal Token
- 在Github上Setting中找到Personal access tokens设置。
- 点Generate new token,生成一个新的Token并记录好。(这个只会出现一次!!)
- 将上一步生成的Token 加入Traivis CI。在Traivis CI的右上方选More options>Setting>Environment Variables。Name为GH_TOKEN,Value则是刚才的Token,最后点"Add"。
3 配置文件
在项目中加入.travis.yml,我的配置如下。注意我的Hexo博客文件在BackupBranch分支中,public目录下的内容被发布到master分支。
# 指定语言环境
language: node_js
# 指定需要sudo权限
sudo: required
# 指定node_js版本
node_js:
- 7.9.0
# 指定缓存模块,可选。缓存可加快编译速度。
cache:
directories:
- node_modules
# 指定博客的仓库地址
env:
global:
- GH_REF: github.com/wyyuan/wyyuan.github.io.git
# 指定博客分支
branches:
only:
- BackupBranch
before_install:
- npm install -g hexo-cli
# Start: Build Lifecycle
install:
- npm install
- npm install hexo-deployer-git --save
# 执行清缓存,生成网页操作
script:
- hexo clean
- hexo generate
# 设置git提交名,邮箱;替换真实token到_config.yml文件,最后depoy部署
after_script:
- cd ./public
- git init
- git config user.name "WuyangYuan"
- git config user.email "yuanwuyang@foxmail.com"
- git add .
- git commit -m "Update docs"
- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master
# End: Build LifeCycle
4 测试
- 修改仓库后提交,结果如下图所示,成功!
网友评论