Travis简介
Travis CI(continuous integration )是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜。目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建。
还有Travis有付费和免费版本,对于开源项目(github)是免费的,对于私有项目是要收费的。企业级私有应用需要找Travis商业合作
另外如果是Window上开发,需要注意一下有没有针对Window用的命令,例如:package.json中的脚本写成'test':'.\\node_modules\\.bin\\karma.cmd start'
基于github使用Travis
Travis和github是一对好基友,travis对github开源的项目完全免费。
首先需要用github账号登陆travis网站
注册成功后,然后点击自己的账户头像,
然后开启Travis
在项目中增加
.travis.yml
配置文件
以上操作已经完成了项目的CI所有工作了。
查看构建情况
README.md
增加逼格badge
首先README要是一个markdown文档。
Build Status
Build Status
是由Travis提供的真实的构建情况badge
。首先到Travis找到对应的项目(如下图),然后点击这个如图这个图标,选择markdown,会自动生成markdown的路径,拷贝路径到README就可以了。
coverage
代码覆盖率生成报告的框架是用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
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](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)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。