Hexo使用Travis CI自動(dòng)化部署

偷懶是第一生產(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):

點(diǎn)擊加號(hào)

選擇你在Github的放博客源碼的倉庫绽昏,打開左側(cè)的開關(guān):

倉庫選擇
打開開關(guān)

然后點(diǎn)下倉庫那里的設(shè)置圖標(biāo),進(jìn)入設(shè)置的界面:

設(shè)置選項(xiàng)

現(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:

Personal access tokens

生成一個(gè)新的tokens认然,設(shè)置如下:

token配置

生成的時(shí)候先別急著關(guān)頁面,配置信息隨時(shí)可以更改漫萄,但是token只在這時(shí)候顯示一次卷员,頁面關(guān)了之后找不到的,要的話只能重新生成一個(gè)

將復(fù)制的token添加到Travis CI的環(huán)境變量中:

添加環(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):

build Stauts

在自己的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

獲取狀態(tài)圖標(biāo)鏈接

補(bǔ)充說明: blog分支README.md放在根目錄就行,master分支README.md要放在博客目錄的/source中

參考資料

本文已在版權(quán)印備案茶鉴,如需轉(zhuǎn)載請?jiān)L問版權(quán)印32778276

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锋玲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子涵叮,更是在濱河造成了極大的恐慌惭蹂,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件割粮,死亡現(xiàn)場離奇詭異盾碗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)舀瓢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門廷雅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人京髓,你說我怎么就攤上這事航缀。” “怎么了堰怨?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵芥玉,是天一觀的道長。 經(jīng)常有香客問我备图,道長灿巧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任诬烹,我火速辦了婚禮砸烦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绞吁。我一直安慰自己,他們只是感情好唬格,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布家破。 她就那樣靜靜地躺著,像睡著了一般购岗。 火紅的嫁衣襯著肌膚如雪汰聋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天喊积,我揣著相機(jī)與錄音烹困,去河邊找鬼。 笑死乾吻,一個(gè)胖子當(dāng)著我的面吹牛髓梅,可吹牛的內(nèi)容都是我干的拟蜻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼枯饿,長吁一口氣:“原來是場噩夢啊……” “哼酝锅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起奢方,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤搔扁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蟋字,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稿蹲,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年鹊奖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了苛聘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嫉入,死狀恐怖焰盗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情咒林,我是刑警寧澤熬拒,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站垫竞,受9級(jí)特大地震影響澎粟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜欢瞪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一活烙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧遣鼓,春花似錦啸盏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至次企,卻和暖如春怯晕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缸棵。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工舟茶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓吧凉,卻偏偏與公主長得像隧出,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子客燕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容