资讯专栏INFORMATION COLUMN

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

pingink / 2009人阅读

摘要:简介是目前新兴的开源持续集成构建项目,它与,的很明显的特别在于采用格式,简洁清新独树一帜。目前大多数的项目都已经移入到的构建队列中,据说每天运行超过次完整构建。查看构建情况增加逼格首先要是一个文档。是由提供的真实的构建情况。

Travis简介

Travis CI(continuous integration )是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜。目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建。

还有Travis有付费和免费版本,对于开源项目(github)是免费的,对于私有项目是要收费的。企业级私有应用需要找Travis商业合作

另外如果是Window上开发,需要注意一下有没有针对Window用的命令,例如:package.json中的脚本写成"test":". ode_modules.binkarma.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)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84141.html

相关文章

  • Javascript 项目常用的一些配置文件

    摘要:引子基本上上优秀的项目上面有很多零零碎碎的文件。其他平台除了,市面上还有其他很多平台,如项目中使用的和等等。利用提供的若干规则,造出一份适合于自己或团队的代码规范配置,同时用规则去忽略文件只是用来纯粹美化代码。 引子 基本上 GitHub 上优秀的javascript项目上面有很多零零碎碎的文件。如图,以koa为例showImg(https://segmentfault.com/img...

    zxhaaa 评论0 收藏0
  • fir.im weekly - 「 持续集成 」实践教程合集

    摘要:来这里看看的工程师如何进行持续集成与持续部署。主要介绍了豆瓣移动持续集成和测试相关实践,用工具化自动化社会化测试来解决遇到的问题,将打包发布环节自动化。这期的持续集成实践分享就到这里。 我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集成...

    A Loity 评论0 收藏0
  • 怎么开发并发布一个可用的 JavaScript 模块 ?

    摘要:但是,我们发布之前,需要做一些持续集成和单元测试,用来保证代码的正确性,稳定性。 Javascript 那么流行,作为一个前端开发者,或者前端入门者,发布一个正式可用的 Javascript 模块,对于自己来说应该成长很大。下面就以一个简单的 Javascript 模块 filesize.js 来介绍 github、travis-ci、npm 这些内容的组合使用。 一、目标概览 本文将...

    TANKING 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<