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

偷懶是第一生產(chǎn)力

使用Hexo寫博客挺簡單的,hexo new "articleName"在生成的md文件中就可以開始自己的寫作了。不過每次都要進(jìn)行發(fā)布的三部曲還是略顯麻煩:

hexo clean
hexo g
hexo d

這時(shí)候就到Travis CI出場(chǎng)的時(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)建及測(cè)試在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

我們?cè)O(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)測(cè)這個(gè)分支,一有動(dòng)靜就開始構(gòu)建
env:
    global:
        - GH_REF: github.com/Longxr/Longxr.github.io.git

修改成你的倉庫的配置就行了。設(shè)置完畢,就可以新建一篇文章測(cè)試下了~以后發(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)測(cè)的分支,鏈接地址設(shè)置為Travis CI的倉庫地址

也可以在界面點(diǎn)擊倉庫名后面的狀態(tài)圖標(biāo)獲取鏈接代碼,默認(rèn)是master分支,記得改成你監(jiān)測(cè)的分支,不然就會(huì)顯示unknown

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

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

參考資料

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容