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

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)

你可能感兴趣的:(javascript,ci)