Travis CI 是基于云的持续集成项目,供 Github 上的开源项目使用。最近他们宣布支持编译Java,附带支持Scala 和Grovvy 。在Ruby 开源社区受到广泛关注后,该项目现在考虑向托管CI 服务(代号Travis Pro)扩展。
公司最近公布了支持私有构建的未来计划,这可以帮助企业享有持续集成带来的好处,同时无需耗费维护构建服务器和测试环境的管理成本(无论是在内部还是在云上)。
很多项目,比如 Ruby on Rails 、 Ruby 还有 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
评论