持續集成(CI)是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,經過每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。node
Travis CI是在軟件開發領域中的一個在線的,分佈式的持續集成服務,用來構建及測試在GitHub託管的代碼。這個軟件的代碼同時也是開源的,能夠在GitHub上下載到,儘管開發者當前並不推薦在閉源項目中單獨使用它。git
本地寫完文章 => push github => GitHub觸發Travis CI構建 => 執行命令 => 部署 => 完成。github
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
docs.travis-ci.com/user/for-be… zh.wikipedia.org/wiki/Travis… baike.baidu.com/item/%E6%8C… blog.csdn.net/qinyuanpei/…