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)

相关文章
相关标签/搜索