Skip to content

Travis CI

Calvin edited this page Jul 8, 2013 · 12 revisions

Overview

平时项目里用的是jenkins,但好像没有好用又免费的jenkins hosting服务,而travis-ci.org免费为github用户提供服务且非常易用,所以SpringSide用了它,地址为 https://travis-ci.org/springside/springside4

QuickStart

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

language: java
script: mvn test

每次github上的提交都会触发travis,启动一个全新的虚拟机(java runtime已包含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时的JVM PermSize。
  • addons 一句定义了虚拟机要安装Firefox,版本是22.0。
  • before_install 两句定义了GUI环境。在travis的生命周期分别是before_install, install, before_script, script,after_script。
  • script 三句,分别执行单元测试,初始化数据库 和 功能测试。

更多服务

Travis还提供 MySQL, PostgreSQL, MongoDB, Redis, Riak, RabbitMQ, Memcached , Cassandra , Neo4J , ElasticSearch, SQLite3的服务以供功能测试时使用,好人到光芒万丈,都不好意思免费用它的这些功能了。 如果你一定要使用,可以看官方使用文档

返回参考手册