Travis CI 宣布支持 Java,并计划推出 Travis Pro

阅读数:1753 2012 年 2 月 23 日

话题:JavaRubyRuby on RailsScalaPython持续集成PHPErlangDevOpsNode.js语言 & 开发文化 & 方法

Travis CI是基于云的持续集成项目,供Github上的开源项目使用。最近他们宣布支持编译 Java,附带支持 Scala 和 Grovvy。在 Ruby 开源社区受到广泛关注后,该项目现在考虑向托管 CI 服务(代号 Travis Pro)扩展。

公司最近公布了支持私有构建的未来计划,这可以帮助企业享有持续集成带来的好处,同时无需耗费维护构建服务器和测试环境的管理成本(无论是在内部还是在云上)。

很多项目,比如Ruby on RailsRuby还有Node.js都是使用 Travis CI,以完成 Github 上每次代码提交后的项目构建和测试。支持的语言还有 PHP、Erlang 和 Clojure。同时,.NET 也在计划中,Travis CI 的 Josh Kalderimis 告诉 InfoQ:

对.NET 的支持绝对是我们的兴趣所在。我们在 Amsterdam 有些人正在研究,但是由于我们现有的基础设施基于 VirtualBox 和 Chef recipes,这需要很多调整,因此需要时间。

不过,对于这些语言的支持力度也不一样。Josh 澄清了对“头等”(包括 Ruby, Node.js, Erlang,PHP 和 Scala)和“标准”语言(Java、Python 和 Groovy)支持的区别:

我们有两种类型语言支持,“标准”和“头等”。“头等”支持的意思是说:我们提供多种虚拟机实现,比如,我们提供 8 种不同 Ruby 版本,3 种不同 Node.js 版本,以及 4 到 5 种 Erlang 版本,还有 4、5 种 PHP 版本。这让 Travis 对开源软件的测试更加有力,因为你现在可以针对多种不同的 Ruby 版本测试程序库,程序库的用户可以放心地在自己的生产环境中、按照自己的版本运行。我们正在添加对 Python 和 Java 的支持,并且希望根据社区的要求支持更多语言。

另一个开发中的特性,是测试前的提取代码请求(pull request),这能大大提升多人贡献开源项目的集成过程。Josh 指出:

提取代码请求,我们认为这是开源项目的革命性功能。想想 Rails 项目,你发出一个代码提取请求,Travis 会测试,并将构建结果作为评论放在代码提取请求中,代码提交人更易于知道代码是否 OK,Rails 的核心团队也能更快、更方便地合并代码变更。

企业层面的持续集成需要负载的多步构建过程,还有数据库和测试的设置。开源项目的好处能否在企业层面重新复制,对于 Travis Pro 来说仍然是个未知挑战。通过共同资助,感兴趣的捐赠人可以获得未来 Travis Pro 账户的折扣。

查看英文原文:Travis CI Announces Support for Java and Plans for Travis Pro