要使用 Travis CI 自動幫我們發佈 Hexo 部落格,先參閱筆者 Travis CI - Free Hosted Continuous Integration Platform for the Open Source Community | Level Up 這篇,登入 Travis CI ,給予授權,並為 Repository 啟用 Travis CI。

Hexo - Auto deploy with Travis CI

接著要準備一組 Personal access token 給 Travis CI。先將 GitHub 的 Settings 開啟。

Hexo - Auto deploy with Travis CI

切到 Personal access tokens 頁面。

Hexo - Auto deploy with Travis CI

按下 Generate new token 按鈕建立一組 token。

Hexo - Auto deploy with Travis CI

為這組 Token 設定一個名稱,並給予它 repo 的權限。

Hexo - Auto deploy with Travis CI

Token 產生後複製留存以供後續使用。

Hexo - Auto deploy with Travis CI

再來要準備 Travis CI 的設定檔 .travis.yml,放置於 Repository 的根目錄,內容大概像這樣 (branches 位置、使用者名稱、與電子郵件位置請自行替換):

language: node_js
node_js:
- '0.12'
branches:
  only:
  - hexo
before_install:
- npm install -g hexo-cli
install:
- npm install
script:
- hexo clean
- hexo generate
after_success:
- git config --global user.name "<Name>"
- git config --global user.email "<Email>"
- sed -i'' "/^ *repo/s~github\.com~${GH_TOKEN}@github.com~" _config.yml
- hexo deploy

再安裝 travis 命令列工具 (官方提供的命令列工具是 Ruby 的版本,如果是 Windows 用戶需加裝 RubyInstaller for Windows,然後用 Start Command Prompt with Ruby 進行下列操作)。

gem install travis

Hexo - Auto deploy with Travis CI

安裝完後查閱命令列工具版本以確定安裝無誤。

travis version

Hexo - Auto deploy with Travis CI

使用命令列工具登入 GitHub 帳號。

travis login

Hexo - Auto deploy with Travis CI

使用命令列工具將剛產生出來的 Token 加密並寫入 Travis CI 設定檔。

travis encrypt ‘GH_TOKEN=’ –add

Hexo - Auto deploy with Travis CI

寫入後的設定檔會變得像下面這樣:

Hexo - Auto deploy with Travis CI

將設定檔 Commit 回 Repository。

git add . git commit -a -m “Add .travis.yml” git push origin

這樣每當我們將部落格文章 Commit 回 Repository 時,Travis CI 就會自動開始進行發佈的動作。

Hexo - Auto deploy with Travis CI

注意到這邊,這樣的設定 Travis CI 也會嘗試建置 master branch,可透過設定讓他只建置有放 .travis.yml 檔的 branch。

Hexo - Auto deploy with Travis CI

Hexo - Auto deploy with Travis CI