title: 通過Travis CI對Hexo博客進行持續(xù)集成
date: 2018-05-21 14:16:40
tags:
- hexo
categories: - Tips
??本篇文章是我自己搭建了一個Travis.ci環(huán)境以自動發(fā)布hexo博客的一個實踐血淌。
Hexo 簡介
??Hexo 是一個Node.js上搭建靜態(tài)博客的工具,其最吸引我的特點就是可以通過Markdown來寫博客。本博客就是采用Hexo搭建的搭幻。我在搭建博客的時候參考了以下資料
??根據(jù)以上說明可以通過Github Pages搭建一個自己的博客功蜓。但是由于是靜態(tài)頁面砚亭,每次更新都要從一個Node.js環(huán)境上運行Hexo褒墨。有沒有辦法可以簡化這個過程呢废登?
Travis CI簡介
??引用廖雪峰的官方網(wǎng)站對Travis CI的介紹震贵。
Travis CI是在線托管的CI服務利赋,用Travis來進行持續(xù)集成,不需要自己搭服務器屏歹,在網(wǎng)頁上點幾下就好隐砸,用起來更方便。最重要的是蝙眶,它對開源項目是免費的季希。
??其中CI代表持續(xù)集成(Continuous Integration),這是一種自動編譯和發(fā)布代碼的技術幽纷。而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并記錄好。(這個只會出現(xiàn)一次B滓狻;鹬稀)
- 將上一步生成的Token 加入Traivis CI。在Traivis CI的右上方選More options>Setting>Environment Variables驮肉。Name為GH_TOKEN熏矿,Value則是剛才的Token,最后點"Add"离钝。
3 配置文件
??在項目中加入.travis.yml票编,我的配置如下。注意我的Hexo博客文件在BackupBranch分支中卵渴,public目錄下的內容被發(fā)布到master分支慧域。
# 指定語言環(huán)境
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
# 執(zhí)行清緩存宛裕,生成網(wǎng)頁操作
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 測試
- 修改倉庫后提交,結果如下圖所示屁奏,成功岩榆!