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文件里中。

时间: 2024-10-15 02:40:00

Travis CI -- 免费的集成测试环境的相关文章

基于Travis CI搭建Android自动打包发布工作流(支持Github Release及fir.im)

最近付费购买了Travis CI,Travis CI的收费模式很有意思,不是按项目或者用户,而是按工作进程收费,比如初级版本是$129/月,总共提供2个工作进程.在项目不多的情况下,除了用于跑单元测试外,不免想利用的更充分一些,因此抽空搭建了一套基于Travis CI的Android自动发布工作流. 未自动化前安卓开发总是避免不了这样的工作流程: 开发一些新功能,提交代码 完成一部分功能后,打包一个测试版APK 将测试版APK上传到QQ群 / 网盘 / Fir.im / 蒲公英等 在QQ群或发布

为 iOS 建立 Travis CI

你是否曾经试着为 iOS 项目搭建一台支持持续集成的服务器,从我的个人经验而言,这可不是一个轻松的活.首先需要准备一台 Mac 电脑,并安装好全部所需的软件和插件.你要负责管理所有的用户账户,并提供安全保护.你需要授予访问仓库的权限,并配置所有的编译步骤和证书.在项目运行时期,你需要保持服务器的稳健和最新. 最后,原本你想节省的时间,会发现你花费了大量的时间去维护这台服务器.不过如果你的项目托管在 GitHub) 上,现在有了新的希望:Travis CI.该服务可以为你的项目提供持续集成的支持,

iOS中 为 iOS 建立 Travis CI 韩俊强的博客

每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 你是否曾经试着为 iOS 项目搭建一台支持持续集成的服务器,从我的个人经验而言,这可不是一个轻松的活.首先需要准备一台 Mac 电脑,并安装好全部所需的软件和插件.你要负责管理所有的用户账户,并提供安全保护.你需要授予访问仓库的权限,并配置所有的编译步骤和证书.在项目运行时期,你需要保持服务器的稳健和最新. 最后,原本你想节省的时间,会发现你花费了大量的时间去维护这台服务器.不过如果你的项目托管在 GitHub

手把手教你使用Travis CI自动部署你的Hexo博客到Github上

简介 这年头要是没有个博客都不好意思给别人说你是程序员,我用XX笔记呀,不行吗?不行,这玩意儿要么不能公开分享,要么公开分享要会员,现在到处都是开源,自己学到了东西都不能分享给需要帮助的人,真是伤心呀.那么今天就来聊聊当你用Hexo搭建了博客,怎么自动更新呢,大家都知道Hexo是需要手动生成HTML静态网页的,虽然命令很少,但是每次写完博客先得推送到git然后在生成静态文件,再推送到服务器,想想我这个心也是醉了,不过看到知乎上还有人带着U盘,我只能呵呵了~,你们耐心真好~ 那我们今天就来说说怎么

github pages与travis ci运作原理

当说到自动部署的时候,我很反感那些一上来就balabala说怎么操作的博文文章,照着别人的做法有样学样,经常会因为与自己项目实际情况不符而出现各种问题. 比如说github和travis,首先应该搞明白,他们之间是如何运作的. 首先,github pages是集成在github里面,可以解析静态的文件,并渲染成页面的.所以最简单的github pages应该是这样,新建一个项目,项目里面包含一个index.html.在项目的settings中打开github pages.搞定! 但问题是,我们很

利用Travis CI+GitHub实现持续集成和自动部署

前言 如果你手动部署过项目,一定会深感持续集成的必要性,因为手动部署实在又繁琐又耗时,虽然部署流程基本固定,依然容易出错. 如果你很熟悉持续集成,一定会同意这样的观点:"使用它已经成为一种标配". 什么是持续集成 Continuous Integration(CI) is a development practice that requires developers to integrate code into a shared repository several times a d

利用Travis CI 让你的github项目持续构建

Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建.对于做开源项目或者github的使用者,如果你的项目还没有加入Travis CI构建队列,那么我真的想对你说out了. 下面是本人的构建历史: 搭建Travis CI build,需要你有个github账号和github项目: 1:用gith

Travis CI用来持续集成你的项目

这里持续集成基于GitHub搭建的博客为项目 工具: [email protected]:~$ node [email protected]:~$ git --version git version [email protected]:~$ travis --version1.8.4 Travis CI简介 Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI

[转] 基于Gitlab CI搭建持续集成环境

[From] https://blog.csdn.net/wGL3k77y9fR1k61T1aS/article/details/78798577 前言 本文是在12月12号迅雷@赵兵在前端早读课第三期Live中提到的关于CI构建的,可能这部分在不同公司由不同的岗位负责,刚好如果你没遇到你可以看看. @赵兵,来自迅雷前端团队.是一个热爱前端技术,喜欢造轮子,爱折腾的人,也是一个奉行"懒惰使人进步"的懒人工程师. 正文从这开始- 本文简单介绍了持续集成的概念并着重介绍了如何基于 Gitl