Travis CI(continuous integration )是目前新興的開源持續集成構建項目,它與jenkins,GO的很明顯的特別在於採用yaml格式,簡潔清新獨樹一幟。目前大多數的github項目都已經移入到Travis CI的構建隊列中,聽說Travis CI天天運行超過4000次完整構建。node
還有Travis有付費和免費版本,對於開源項目(github)是免費的,對於私有項目是要收費的。企業級私有應用須要找Travis商業合做git
另外若是是Window上開發,須要注意一下有沒有針對Window用的命令,例如:package.json中的腳本寫成'test':'.\\node_modules\\.bin\\karma.cmd start'
github
Travis和github是一對好基友,travis對github開源的項目徹底免費。npm
首先須要用github帳號登錄travis網站json
註冊成功後,而後點擊本身的帳戶頭像,markdown
而後開啓Travis
框架
在項目中增長.travis.yml
配置文件svg
以上操做已經完成了項目的CI全部工做了。網站
README.md
增長逼格badge
首先README要是一個markdown文檔。ui
Build Status
是由Travis提供的真實的構建狀況badge
。首先到Travis找到對應的項目(以下圖),而後點擊這個如圖這個圖標,選擇markdown,會自動生成markdown的路徑,拷貝路徑到README就能夠了。
代碼覆蓋率生成報告的框架是用istanbul
,若是想在github上生成對應的badge
,須要將istanbul
生成的報告發給CoverAlls
。和Travis同樣使用CoverAlls也須要先用github的帳號登錄CoverAlls,而後再開啓項目,詳見下圖:
具體配置以下:
package.json
增長
//注意package.json要有coveralls npm庫的依賴, //另外由於生成的報告目錄是:coverage/Chrome 59.0.3071 (Windows 7 0.0.0)/lcov.info, //因此這邊cat的時候攜程`./coverage/*/lcov.info` "test": "./node_modules/.bin/karma start --single-run && cat ./coverage/*/lcov.info | coveralls",
karma.conf.js
增長
after_success: # - ls /home/travis/build/ganxunzou/MyKarma/coverage 能夠看你報告生成報告的目錄內容,注意項目路徑。 - npm run coveralls
badge
若是你的項目是一個NPM的庫,你能夠把庫提交到NPM,而後再用NPM提供的badge
用法很簡單。https://img.shields.io/npm/dm/xxx.svg
其中xxx是你項目的名字,dm
是download簡寫。
好比個人地址就是[https://img.shields.io/npm/dm/MyKarma.svg](https://img.shields.io/npm/dm/mykarma.svg)
download
[![Github Releases](https://img.shields.io/npm/dm/mykarma.svg)](https://github.com/ganxunzou/MyKarma)
License
[![Github Releases](https://img.shields.io/npm/l/mykarma.svg)](https://github.com/ganxunzou/MyKarma)
Version
[![Github Releases](https://img.shields.io/npm/v/mykarma.svg)](https://github.com/ganxunzou/MyKarma)