首页 > 代码库 > Travis CI -- 免费的集成测试环境

Travis CI -- 免费的集成测试环境

Travis CI,是一个专门为开源项目打造的持续集成环境。如果你有一个放在Github上的开源项目,Travis CI是一个开源完美的CI选择。在Travis CI中

可以直接用Github账号登陆,然后配置自己项目的持续集成。下面说说用Travis CI实习我自己的开源Demo Java Web项目CI的配置。


实现Java Web项目的持续集成是非常简单的,分成2个部分:


第一部分:travis ci中项目配置

在Travis CI中登录Github帐号,选择自己需要持续集成的项目,点击项目的按钮直接开启集成并授权Travis CI访问你的仓库即可,之后默认每次的push都会触发集成。


第二部分:github中项目配置

1. 我们要在自己项目的根目录下添加一个文件.travis.yml。

2. 下面是我的项目中.travis.yml的具体配置

language: java
jdk:
#  - oraclejdk7
#  - openjdk7
  - openjdk6
before_install:
#  - mvn install -Dmaven.javadoc.skip=true
   - "echo skipped"
install:
  - "echo skipped"
script:
#  - "echo skipped" 
  - mvn install -Dmaven.javadoc.skip=true
# - mvn deploy
notifications:
  email:
    recipients:
      - ******@***.com
    #on_success: [always|never|change]  default: change
    #on_failure: [always|never|change]  default: always
这个文件应该很好理解:

a. 首先,我们告诉Travis CI,我们的语言是什么。这样,它会根据你的语言为你选择构建工具。对于Java,Travis CI会自动匹配构建工具是否是maven(通过根目录是否有pom.xml来匹配)。

b. 接下里的JDK是要告诉Travis CI,我要在哪些环境下测试。,当我们提交代码时,Travis CI会在不同的JDK环境运行我们的测试,以此保证项目的版本兼容。

c. 再接着是关于生命周期各个阶段需要执行的命令,先执行关于安装依赖的 before_install、install,再执行关于具体构建的 before_script、script、after_success or after_failure、after_script。在Travis CI中对于maven项目构建先在instal阶段执行mvn install -DskipTests=true,然后在script阶段执行mvn test,这些命令会尝试3次,因为我的web项目由于实现了intergation测试,直接执行mvn install -DskipTests=true会出现先测试集成测试然后在script阶段测试unit测试,所以我对要执行的脚本做了些修改,直接在script阶段执行所有测试。

d. 最后配置通知,告诉用户CI成功或者失败,可以支持email和irc等等。

3. 在http://lint.travis-ci.org中确保.travis.yml中没有语法错误。

4. 修改系统中关于数据库的用户名密码配置,Travis CI支持各种数据库,MySQL、PostgreSQL、MongoDB等等。Travis CI中MySQL数据库默认用户名是root或者travis,密码为空。具体数据库更多细节可以参考:数据库支持

5. 大功告成,我的开源项目也有了自己的CI。

更多细节可以参考Travis CI文档。


Note:Travis CI项目页面上,右上角有个一个状态图标。点击它,可以看到Travis CI提供的项目状态图链接,选择Markdown,粘帖到自己的Github项目的README文件里中。




Travis CI -- 免费的集成测试环境