偷懶是第一生產(chǎn)力
使用Hexo寫博客挺簡單的噪叙,hexo new "articleName"
在生成的md文件中就可以開始自己的寫作了。不過每次都要進(jìn)行發(fā)布的三部曲還是略顯麻煩:
hexo clean
hexo g
hexo d
這時(shí)候就到Travis CI
出場的時(shí)候了跨蟹,通過Travis CI
可以實(shí)現(xiàn)當(dāng)你將commit
提交到Github后弦赖,會(huì)自動(dòng)幫你進(jìn)行這3步朋凉,你需要的就只是寫文章->提交到Github仔雷,剩下的都是自動(dòng)完成。
Travis CI使用
Travis CI是在軟件開發(fā)領(lǐng)域中的一個(gè)在線的,分布式的持續(xù)集成服務(wù)切心,用來構(gòu)建及測試在GitHub托管的代碼 。
登錄Travis CI
使用Github賬號(hào)登錄Travis CI官網(wǎng)片吊,登錄后在主界面點(diǎn)擊My Repositories
旁邊的"+"號(hào):
選擇你在Github的放博客源碼的倉庫绽昏,打開左側(cè)的開關(guān):
然后點(diǎn)下倉庫那里的設(shè)置圖標(biāo),進(jìn)入設(shè)置的界面:
現(xiàn)在我們就設(shè)置好了需要構(gòu)建的倉庫了俏脊,Github的倉庫指定的分支有commit后就會(huì)觸發(fā)構(gòu)建全谤,但是目前還沒有權(quán)限將構(gòu)建的結(jié)果push到Github的倉庫,這就需要在Github配置下Access Token了
配置Github的Access Token
轉(zhuǎn)到Github頁面爷贫,在Setting
界面下選擇Personal access tokens
:
生成一個(gè)新的tokens认然,設(shè)置如下:
生成的時(shí)候先別急著關(guān)頁面,配置信息隨時(shí)可以更改漫萄,但是token只在這時(shí)候顯示一次卷员,頁面關(guān)了之后找不到的,要的話只能重新生成一個(gè)
將復(fù)制的token添加到Travis CI
的環(huán)境變量中:
這樣Travis CI
就有了訪問Github的權(quán)限了
配置.travis.yml
我們設(shè)置了自動(dòng)部署腾务,但是具體要怎么部署還沒有告訴Travis CI
毕骡,接下來就來設(shè)置下相關(guān)的配置文件
Github的倉庫分支
如果將源碼和生成的博客頁面文件放在同一個(gè)分支也是可以的,不過每次一提交之后岩瘦,
Travis CI
會(huì)自動(dòng)化構(gòu)建然后再push到這個(gè)分支未巫。這樣會(huì)顯得比較亂 ,跟默認(rèn)用hexo三部曲提交到Github差不多启昧,想換臺(tái)電腦編輯的時(shí)候不好找博客源代碼叙凡,分成兩個(gè)分支是不錯(cuò)的選擇。
由于Github的要求密末,要作為博客顯示的分支必須是master握爷,所以源碼就另起了一個(gè)分支blog
。
添加.travis.yml文件
在blog根目錄新建一個(gè).travis.yml文件严里,添加如下內(nèi)容:
language: node_js #設(shè)置語言
node_js: stable #設(shè)置相應(yīng)的版本
cache:
directories:
- node_modules #據(jù)說可以減少travis構(gòu)建時(shí)間
before_install:
- npm install -g hexo
- npm install -g hexo-cli
install:
- npm install #安裝hexo及插件
before_script:
- npm install -g mocha
- git clone --branch master https://github.com/Longxr/Longxr.github.io.git public
script:
- hexo cl #清除
- hexo g #生成
after_script:
- cd ./public
- git init
- git config user.name "longxr" #修改成自己的github用戶名
- git config user.email "longxuanren@gmail.com" #修改成自己的GitHub郵箱
- git add .
- git commit -m "update by Travis-CI"
- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master #GH_token就是在travis中設(shè)置的token
branches:
only:
- blog #只監(jiān)測這個(gè)分支新啼,一有動(dòng)靜就開始構(gòu)建
env:
global:
- GH_REF: github.com/Longxr/Longxr.github.io.git
修改成你的倉庫的配置就行了。設(shè)置完畢田炭,就可以新建一篇文章測試下了~以后發(fā)文章的流程就是:寫文章->提交到Github
搞定师抄!
逼格添加
自動(dòng)化構(gòu)建服務(wù)還可以在README.md中加上一個(gè)構(gòu)建狀態(tài)的圖標(biāo):
在自己的README.md中加一行:
[![Build Status](https://travis-ci.org/Longxr/Longxr.github.io.svg?branch=blog)](https://travis-ci.org/Longxr/Longxr.github.io)
branch后設(shè)置為監(jiān)測的分支,鏈接地址設(shè)置為
Travis CI
的倉庫地址
也可以在界面點(diǎn)擊倉庫名后面的狀態(tài)圖標(biāo)獲取鏈接代碼教硫,默認(rèn)是master分支叨吮,記得改成你監(jiān)測的分支辆布,不然就會(huì)顯示unknown
補(bǔ)充說明: blog分支README.md放在根目錄就行,master分支README.md要放在博客目錄的/source中
參考資料
- 使用 Travis CI 自動(dòng)更新 GitHub Pages
- Travis CI自動(dòng)部署Hexo博客到Github
- Hexo使用TravisCI自動(dòng)化構(gòu)建
- 可持續(xù)化集成Travis-CI入門教程
本文已在版權(quán)印備案茶鉴,如需轉(zhuǎn)載請?jiān)L問版權(quán)印32778276