Skip to content

Travis CI

Calvin edited this page Jul 8, 2013 · 12 revisions

Overview

平时项目里用的是Jenkins,但很难找到好用又免费的Jenkins Hosting服务,而travis-ci.org免费为github用户提供服务且非常易用,所以SpringSide的Travis CI地址为 https://travis-ci.org/springside/springside4

QuickStart

根据Quick Start Guide,只要放一个最简单的.travis.yml,就可以有基本的单元测试服务,简单到不愿意相信。

language: java
script: mvn test

每次github上的提交都会触发travis,启动一个已有java和maven的全新的虚拟机镜像,git clone下载代码,在私服下载所有的maven依赖,先跑一次“mvn install -Dmaven.test.skip=true” 热身,最后执行自定义的"mvn test",跑完大概才需要3分钟。如果出错,会收到邮件。

用货真价实的FireFox运行功能测试

SpringSide里的完整脚本如下:

language: java
script:
- mvn test
- mvn antrun:run -Prefresh-db
- mvn test -Pfunctional-test -Dselenium.driver=firefox
env: MAVEN_OPTS="-XX:MaxPermSize=128m"
addons:
  firefox: "22.0"
before_install:
  - "export DISPLAY=:99.0"
  - "sh -e /etc/init.d/xvfb start"
  • env 一句加大了跑showcase serer时的PermSize
  • addons 一句定义了虚拟机要安装Firefox,版本是22.0。
  • before_install 两句定义了GUI环境,在travis的生命周期里,分别是before_install, install, before_test, test,after_install
  • script 三句,分别执行单元测试,初始化数据库 和 功能测试。

更多

Travis还提供 MySQL, PostgreSQL, MongoDB, Redis, Riak, RabbitMQ, Memcached , Cassandra , Neo4J , ElasticSearch, SQLite3的服务以供功能测试时使用,好人到光芒万丈,到都不好意思用它的这些功能了,怕形成依赖。 使用文档

返回参考手册