-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Travis CI
Calvin edited this page Jul 8, 2013
·
12 revisions
平时项目里用的是Jenkins,但很难找到好用又免费的Jenkins Hosting服务,而travis-ci.org免费为github用户提供服务且非常易用,所以SpringSide的Travis CI地址为 https://travis-ci.org/springside/springside4
根据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分钟。如果出错,会收到邮件。
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的服务以供功能测试时使用,好人到光芒万丈,到都不好意思用它的这些功能了,怕形成依赖。 使用文档