TravisCI + Hexo

Why

快过期的搬砖工(当时买 OVZ 大概是傻了吧)不能直接迁移到 KVM,虽然挺满意之前的写作流

本地部署hexo环境 -> Markdown 写作 -> 更新到服务器 -> 服务器执行脚本部署页面并自动 push 到 Git 以及备份

不过说到迁移,不弄点新花样是不行的

GitHub:挺早之前就支持自定义 HTTPS 域名
TravisCI:持续集成,脱离本地部署,Git 只需要监听源码分支的 .travis.yml 改动然后自动进行博客页面部署
优点:以后写作只需要 fork 一份源码分支,本地写作,push,省略本地配置 NodeJS 环境的复杂过程
缺点:哪天 GIthub 被墙的厉害,哦豁

Hexo 配置略过

hexo init test.github.io
cd test.github.io
npm install
git init
git remote add origin [email protected]:test/test.github.io.git
git pull origin master

git clone https://github.com/viosey/hexo-theme-material.git themes/material
cd themes/material
git checkout canary
git pull
# 这里也是个坑,yml 后缀本地部署没有问题,一到 TravisCI 上就报错,要改 yaml
cp _config.template.yml _config.yaml
cd ../../

加个 build|pass 的标志

vim README.md
[![Build Status](https://travis-ci.org/test/test.github.io.svg?branch=master)](https://travis-ci.org/test/test.github.io)

TravisCI配置

select-repo

setting-repo
vim .travis.yml

language: node_js
node_js: stable

branches:
  only:
  - source

cache:
  directories:
    - node_modules

before_install:
  - git config --global user.name "username"
  - git config --global user.email "your-email"
  - npm install -g hexo-cli

install:
  - npm i

script:
  - hexo clean
  - hexo generate

after_success:
  - cd ./public
  - git init
  - git add --all .
  - git commit -m "Travis CI Auto Builder"
  - git push --quiet --force https://[email protected]/test/test.github.io.git master

创建 source 分支保存源码

git checkout --orphan source
hexo clean
hexo generate
git add -A
git commit -am "your-commit"
git push --set-upstream origin source -f

End

build-pass

–这篇文章来自 TravisCI Auto Builder + Hexo