持续集成平台:travis

详细介绍在官网https://travis-ci.org/
下面我简单介绍一下

  1. 对于github 上的开源项目travis是免费的,但是对于私有的项目,它的收费很高。
    2.travis 应该是把虚拟机的技术玩得比较好,它每次跑测试时,都会提供一个空白的环境。这个环境只有 Linux 基本的 build-essential 和 wget、git 那些依赖。连 Node.js 的运行时都是现跑现安装的。travis 默认带有的那些依赖,都是每个用户的机器上都会有的,所以一旦你的应用在 travis 上面能够跑通,那么就不用担心别的用户安装不上了。
    3.如下图,可以看到我帮自己的 ceshi 项目开启了测试。


    持续集成平台:travis_第1张图片
    image.png

    4.当你在 travis 授权了仓库之后,每当你 push 代码到 github,travis 都会自动帮你跑测试。

travis 通过授权,可以知道你的项目在什么地方,于是它就可以把项目 clone 过去。但问题又来了,它不懂你的测试怎么跑啊。用 npm test 还是 make test 还是 jake test 呢?

所以我们需要给出一些配置信息,配置信息以 .travis.yml 文件的形式放在项目根目录,比如一个简单的 .travis.yml。

language: node_js
node_js:
 - '0.8'
 - '0.10'
 - '0.11'
script: make test

这个文件传递的信息是:

这是一个 node.js 应用
这个测试需要用 0.8、0.10 以及 0.11 三个版本来跑
跑测试的命令是 make test
将这个文件添加到项目的根目录下,再 push 上 github,这时候 travis 就会被触发了。
travis 接着会做的事情是:

  1. 安装一个 node.js 运行时。由于我们指定了三个不同版本,于是 travis 会使用三个机器,分别安装三个版本的 node.js

  2. 这些机器在完成运行时安装后,会进入项目目录执行

    npm install

    来安装依赖。

  3. 当依赖安装完成后,执行我们指定的 script,在这里也就是

    make test

如果测试通过的话,make 命令的返回码会是 0(如果不懂什么是返回码,则需要补补 shell 的知识),则测试通过;如果测试有不通过的 case,则返回码不会为 0,travis 则判断测试失败。

每一个 travis 上面的项目,都可以得到一个图片地址,这个地址上的图片会显示你项目当前的测试通过状态,把这个图片添加到自己项目的 README 中,就可以得到我们图1的那种逼格了。

对了,行覆盖率的那个 badge 是由一个叫 coveralls(https://coveralls.io/

) 的服务提供的。大家可以试着自己接入。

补充说明:
如果你的应用有使用到数据库, 需要在 .travis.yml 中添加一些内容.

以 MongoDB 为例:

services:
    mongodb

你可能感兴趣的:(持续集成平台:travis)