使用Travis-CI持续构建Hexo博客

使用Travis-CI持续构建Hexo博客

我是用的 Hexo+Github Page 来构建自己的博客。在 Github 创建your_github_name.github.io仓库的时候,可以直接使用your_github_name.github.io作为你的博客域名站点。详细的话,可以自己去 google 下使用 Hexo搭建个人博客。

写本文的原因是因为,每次我在写完一篇总结,提交了push之后。如果要更新到博客上,需要经历的过程就是:

# 提交源文件到仓库
git add .
git commit -m "xxx"
git push origin master

# 发布到博客站点
hexo clean
hexo d -g
# 这里还需要输入github账号,密码。

我觉得如果提交源文件push之后能够直接发布到博客站点就好了。在网上搜了一圈,很多人的资料还是有些缺陷,自己踩了一路坑,所以有了本篇记录。

环境介绍

先介绍下我的博客环境,我用了两个repo:
一个是存博客源码的blog.git,
另一个也就是用来做站点发布的chenzhijun.github.com.git

网上很多人喜欢用一个库,然后切换分支的做法。之前我也弄过,不过后来发现我经常弄错分支。反正repo不要钱,就无所谓,分开吧。其实就是懒。总之,自己爽就好。

实际操作

其实就是将生成的目录public下的所有文件当作了chenzhijun.github.com.git库下面的文件。

  1. 生成一个Personal access tokens.Token记得勾选如下权限,然后copy保存:

  1. 注册Travis-CI账号:https://travis-ci.org。我是直接使用github登陆的,方便。
  2. 激活需要进行CI的仓库:

点击仓库进去做配置,找到设置的地址:

配置环境变量等:

  1. 之后在博客根目录创建.travis.yml文件,我的文件内容为:
language: node_js # 设置语言

node_js: stable # 设置相应版本

cache:
    apt: true
    directories:
        - node_modules # 设置缓存,传说会在构建的时候快一些

before_install:
    - npm install hexo-cli -g

install:
    - npm install # 安装hexo及插件

script:
    - hexo clean # 清除
    - hexo g # 生成

after_script:
    - git clone ${GH_REF} pub_web # 因为我有两个仓库,先将发布服务的仓库clone下来,
    - cp -rf public/* pub_web/ # 将源博客仓库(blog.git)目录下的public文件夹下的文件复制到发布服务的仓库(chenzhijun.github.com.git)中
    - cd pub_web # 进入到git仓库
    - git config user.name "username"
    - git config user.email "email@address.com"
    - git add .
    - git commit -am "Travis CI Auto Builder :$(date '+%Y-%m-%d %H:%M:%S' -d '+8 hour')" # 零时区,+8小时
    - git push origin master 
branches:
    only:
        - master #只监测master分支,这是我自己的博客,所以就用的master分支了。
env:
    global:
        - GH_REF: https://yourname:${GITHUB_TOKEN}@github.com/yourname/your.blog.address.git #设置GH_REF,注意更改yourname,GITHUB_TOKEN:就是我们在travis-ci仓库中配置的环境变量

  1. _config.yml中加入(这里如果是用hexo,应该一开始就会弄好了):
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repository: https://github.com/yourname/yourname.github.com.git
  branch: master

到这里,我们一个简单的ci就弄好了,你可以试着提交一个commit,然后push到你的仓库之后在travis-ci里面就能看到build日志了。


2017-12-19-16-17-42

其实简单的原理就是:

  1. 向仓库blog.git提交commit;
  2. travis-ci 自动构建blog.git,根据.travis.yml的配置执行;
  3. 运行hexo g之后,public目录下文件更新;
  4. 克隆chenzhijun.github.com.git仓库,将其命名为别名pub_web,将public下的文件复制到pub_web
  5. 将pub_web目录下的文件提交commit;
  6. push最新的文件到github。

特别注意 personal token只在仓库的https协议下有效,官网说的:Creating a personal access token for the command line

这样站点就更新了,如果你是在一个仓库下多个分支,我想应该也容易了。自己动手,丰衣足食。

相关参考:

使用Travis CI自动部署Hexo博客

使用 Travis-CI 来自动化部署 Hexo

基于 Hexo 的全自动博客构建部署系统

原文地址:使用Travis-CI持续构建Hexo博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容