使用travis-ci自動部署Hexo到github和coding

持續集成(CI)是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,經過每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。node

Travis CI是在軟件開發領域中的一個在線的,分佈式的持續集成服務,用來構建及測試在GitHub託管的代碼。這個軟件的代碼同時也是開源的,能夠在GitHub上下載到,儘管開發者當前並不推薦在閉源項目中單獨使用它。git

構建流程

本地寫完文章 => push github => GitHub觸發Travis CI構建 => 執行命令 => 部署 => 完成。github

用github登錄travis-ci

travis-ci.com而後添加到你要激活的存儲庫。 npm

而後選擇你要使用的倉庫,我這裏選擇的是lanpangzhi.github.io,我放hexo博客的倉庫。

而後生成github和coding的Token。 先生成github的Token。 github.com/settings/to… 點擊Generate new token。 bash

而後生成Token。
開始生成coding的Token。

點擊新建令牌。 hexo

複製令牌。

登錄travis-ci把github和coding的Token複製到環境變量。 travis-ci.com/ 分佈式

點擊Settings。 添加CI_TOKEN和CO_TOKEN環境變量。 CI_TOKEN是github的Token。 CO_TOKEN是coding的Token。

在項目根目錄新建.travis.yml 文件測試

language: node_js
node_js:
- 8.9.0
cache:
  directories:
  - node_modules
before_install:
- npm install hexo-cli -g
install:
- npm install
script:
- hexo clean
- hexo generate
after_script:
  - cd ./public
  - git init
  - git config user.name "github用戶名"
  - git config user.email "github郵箱"
  - git add .
  - git commit -m "TravisCI 自動部署"
  # Github Pages
  - git push --force --quiet "https://${CI_TOKEN}@${GH_REF}" master:master 
  # Coding Pages
  - git push --force --quiet "https://coding用戶名:${CO_TOKEN}@${CO_REF}" master:master

branches:
  only:
  - indigo   這裏替換你要監聽的分支

env:
 global:
   # Github Pages
   - GH_REF: github.com/lanpangzhi/lanpangzhi.github.io  這裏替換你的github倉庫地址
   # Coding Pages
   - CO_REF: git.coding.net/bule/bule.coding.me.git  這裏替換你的coding倉庫地址
複製代碼

而後提交github,travis-ci就會自動構建了。 如今寫博客只須要兩步操做,第一步 hexo new "新的文章",第二步提交到github。travis-ci會幫你自動部署的。 省去了 hexo clean hexo g -d 的環節。ui

看到這張圖就表明成功了。 spa

若是使用git子模塊的話請使用https地址,或者在.travis.yml文件禁用子模塊,不然構建會報錯,提示沒有權限。

個人博客和github,喜歡就去點點星吧,謝謝。

github.com/lanpangzhi

blog.langpz.com

參考

docs.travis-ci.com/user/for-be… zh.wikipedia.org/wiki/Travis… baike.baidu.com/item/%E6%8C… blog.csdn.net/qinyuanpei/…

相關文章
相關標籤/搜索