偷懶是第一生產力
使用Hexo寫博客挺簡單的,hexo new "articleName"
在生成的md文件中就可以開始自己的寫作了。不過每次都要進行發布的三部曲還是略顯麻煩:
hexo clean
hexo g
hexo d
這時候就到Travis CI
出場的時候了,通過Travis CI
可以實現當你將commit
提交到Github后,會自動幫你進行這3步,你需要的就只是寫文章->提交到Github,剩下的都是自動完成。
Travis CI使用
Travis CI是在軟件開發領域中的一個在線的,分布式的持續集成服務,用來構建及測試在GitHub托管的代碼 。
登錄Travis CI
使用Github賬號登錄Travis CI官網,登錄后在主界面點擊My Repositories
旁邊的"+"號:
選擇你在Github的放博客源碼的倉庫,打開左側的開關:
然后點下倉庫那里的設置圖標,進入設置的界面:
現在我們就設置好了需要構建的倉庫了,Github的倉庫指定的分支有commit后就會觸發構建,但是目前還沒有權限將構建的結果push到Github的倉庫,這就需要在Github配置下Access Token了
配置Github的Access Token
轉到Github頁面,在Setting
界面下選擇Personal access tokens
:
生成一個新的tokens,設置如下:
生成的時候先別急著關頁面,配置信息隨時可以更改,但是token只在這時候顯示一次,頁面關了之后找不到的,要的話只能重新生成一個
將復制的token添加到Travis CI
的環境變量中:
這樣Travis CI
就有了訪問Github的權限了
配置.travis.yml
我們設置了自動部署,但是具體要怎么部署還沒有告訴Travis CI
,接下來就來設置下相關的配置文件
Github的倉庫分支
如果將源碼和生成的博客頁面文件放在同一個分支也是可以的,不過每次一提交之后,
Travis CI
會自動化構建然后再push到這個分支。這樣會顯得比較亂 ,跟默認用hexo三部曲提交到Github差不多,想換臺電腦編輯的時候不好找博客源代碼,分成兩個分支是不錯的選擇。
由于Github的要求,要作為博客顯示的分支必須是master,所以源碼就另起了一個分支blog
。
添加.travis.yml文件
在blog根目錄新建一個.travis.yml文件,添加如下內容:
language: node_js #設置語言
node_js: stable #設置相應的版本
cache:
directories:
- node_modules #據說可以減少travis構建時間
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中設置的token
branches:
only:
- blog #只監測這個分支,一有動靜就開始構建
env:
global:
- GH_REF: github.com/Longxr/Longxr.github.io.git
修改成你的倉庫的配置就行了。設置完畢,就可以新建一篇文章測試下了~以后發文章的流程就是:寫文章->提交到Github
搞定!
逼格添加
自動化構建服務還可以在README.md中加上一個構建狀態的圖標:
在自己的README.md中加一行:
[](https://travis-ci.org/Longxr/Longxr.github.io)
branch后設置為監測的分支,鏈接地址設置為
Travis CI
的倉庫地址
也可以在界面點擊倉庫名后面的狀態圖標獲取鏈接代碼,默認是master分支,記得改成你監測的分支,不然就會顯示unknown
補充說明: blog分支README.md放在根目錄就行,master分支README.md要放在博客目錄的/source中
參考資料
本文已在版權印備案,如需轉載請訪問版權印32778276