Javascript CI篇(4)- Github + Travis 持續集成

Travis簡介

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

基於github使用Travis

Travis和github是一對好基友,travis對github開源的項目徹底免費。npm

  • 首先須要用github帳號登錄travis網站json

  • 註冊成功後,而後點擊本身的帳戶頭像,markdown

  • 而後開啓Travis
    image框架

  • 在項目中增長.travis.yml配置文件svg

以上操做已經完成了項目的CI全部工做了。網站

查看構建狀況

image

image

README.md增長逼格badge

image

首先README要是一個markdown文檔。ui

Build Status

Build Status是由Travis提供的真實的構建狀況badge。首先到Travis找到對應的項目(以下圖),而後點擊這個如圖這個圖標,選擇markdown,會自動生成markdown的路徑,拷貝路徑到README就能夠了。
image

coverage

代碼覆蓋率生成報告的框架是用istanbul,若是想在github上生成對應的badge,須要將istanbul生成的報告發給CoverAlls。和Travis同樣使用CoverAlls也須要先用github的帳號登錄CoverAlls,而後再開啓項目,詳見下圖:
image
具體配置以下:

  • 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

npm 相關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
[![Github Releases](https://img.shields.io/npm/dm/mykarma.svg)](https://github.com/ganxunzou/MyKarma)

  • License

Github Releases
[![Github Releases](https://img.shields.io/npm/l/mykarma.svg)](https://github.com/ganxunzou/MyKarma)

  • Version

Github Releases
[![Github Releases](https://img.shields.io/npm/v/mykarma.svg)](https://github.com/ganxunzou/MyKarma)

相關文章
相關標籤/搜索