前言
前面一篇文章介紹了Travis自動部署Hexo的常規使用教程,也是個人比較推薦的方法。
前文最後也提到了在Windows系統中可能會有一些小問題,爲了在Windows系統中也可以實現使用Travis自動部署Hexo,本文介紹另外一種方式來實現。
是通過GitHub API來實現的,用到了Linux中的sed命令。
新建Access Token
Personal Access Token是用於操作repo的口令。
- 點擊用戶圖像,然後點擊Settings(設置)選項。
- 進入設置面板後,點擊左側Personal access tokens,接着點擊右上角的Generate new token(生成新口令)按鈕。
- 接着會跳轉到輸入github賬戶密碼頁面,輸入密碼後,就是新建個人口令內容面板。
填寫描述信息,例如Travis CI,然後選擇相應的權限(這裏需要對repo讀寫),點擊Generate token(生成口令)按鈕生成Token。 - 將生成的Token保留好,後面要用到。
配置Travis
-
接入Travis CI
打開Travis CI網站,使用github賬號登錄。
將鼠標放在右上角的用戶名上,點擊Account選項,會顯示github的項目。
找到博客項目,點擊前面帶有 X 符號的按鈕,開啓travis支持。
然後點擊設置按鈕,在項目的設置中開啓Build only if .travis.yml is present
這一項. -
安裝travis
Travis安裝需要Ruby環境,所有需要安裝Ruby,並且需要安裝rubygems插件。# 安裝travis gem isntall travis
-
新建配置文件
首先打開博客項目文件夾,在項目根目錄新建.travis.yml
配置文件。$ cd 博客項目文件夾根目錄 $ touch .travis.yml
-
登錄travis
travis login --auto
然後會提示輸入github的用戶名和密碼。
-
新建變量
在項目根目錄下執行:# 這裏的 REPO_TOKEN 是變量名,在後面的配置文件中會用到 # TOKEN 是上面github生成的Token travis encrypt 'REPO_TOKEN=<TOKEN>' --add
此操作會在
.travis.yml
文件中添加下面的信息env: global: secure: fxBE17yzFhC2+FjwVLYbgIhggyfliv3dFCDozTJD7U3n...
編輯配置文件
Travis配置文件
打開Travis配置文件.travis.yml,添加如下信息:
language: node_js
node_js:
- "4" # nodejs的版本
branches:
only:
- dev # 設置自動化部署的源碼分支
env:
global:
secure: fxBE17yzFhC2+FjwVLYbgIhggyfliv3dFCDozTJD7U3n...
before_install:
- export TZ='Asia/Shanghai' # 設置時區
- npm install -g hexo
- npm install -g hexo-cli
before_script:
# 設置github賬戶信息
- git config --global user.name "SeayXu" #設置github用戶名
- git config --global user.email [email protected] #設置github用戶郵箱
# github倉庫操作
- sed -i'' "[email protected]:SeayXu/seayxu.github.io.git~https://${REPO_TOKEN}:[email protected]/SeayXu/seayxu.github.io.git~" _config.yml
# 安裝依賴組件
install:
- npm install
# 執行的命令
script:
- hexo clean
- hexo generate
# 執行的成功後執行
after_success:
- hexo deploy
完整配置文件可以參考這個。
編輯Hexo配置
如果之前配置過deploy信息可以略過.
deploy:
type: git
repo: [email protected]:seayxu/seayxu.github.io.git # 同步的倉庫
branch: master # 同步的分支
本地操作
-
初始化本地倉庫
切換到項目根目錄下,刪除原來部署時產生的.git文件夾.
執行初始化操作$ git init
關聯遠程倉庫
$ # 將github倉庫改爲自己的 $ git remote add origin [email protected]:SeayXu/seayxu.github.io.git
-
推送倉庫
提交本地修改,推送至github倉庫。$ # 添加文件 $ git add . $ # 提交修改 $ git commit -m "test travis" $ # 推送至遠程倉庫 $ git push -u origin dev
push本地的代碼至遠程倉庫之後,在https://travis-ci.org後臺查看相關情況。
下面是成功的結果:
以上就是使用Travis自動部署Hexo的另一方法。
如果有好的方法,歡迎補充。