ZeroTurnaround 宣布旗下的软件发布自动化工具 LiveRebel 2.6 已经可用。
2.6 版添加了下列特性:
- 支持使用 Java、PHP、Python、Perl 和 Ruby 等语言构建的应用。
- 数据库更新和版本控制,使运维团队能随着关联应用而更新或回滚数据库的变更。
- 多平台更新,对于使用多个平台和数据库构建的应用,团队能够 将其发布到不同的环境中。
- 属性管理, 支持针对场景背后的环境 使用特定配置, 从而把一个单独的应用发布到若干不相似的环境中。
- 监控应用和服务器的实时健康情况。
InfoQ 就 LiveRebel 对 ZeroTurnaround 的产品市场经理 Krishnan Badrinarayanan 进行了采访。
我想你们对 LiveRebel 的定位是一款测试和发布工具,而非持续集成工具。LiveRebel 对测试和发布做了哪些改进?
在考虑发布应用时, 可以把持续集成工具当作增强型脚本。它什么都能做, 但开发者得负责全部的编码和维护工作。持续集成工具并不了解开发者的环境、配置、数据库和其他信息,它们只是一个接一个地触发和执行任务,并且记录成功或失败等信息。
LiveRebel 的处理方式有所不同, 它知道环境的所有信息,包括运行的是哪些服务器, 部署的是哪些应用和哪个版本等。它能够管理特定于环境的属性,并对其进行版本控制。它还能够知道数据库 和环境的改变,同样可以对其进行版本控制。
我们可以举一个典型的用例 :一个敏捷开发团队每几天进行一次发布更新。测试团队接收到每个发布包后,使用 LiveRebel 自动将代码、数据库和配置等内容部署到测试环境中。一旦部署完毕,LiveRebel 会自动调用测试脚本。 测试通过之后,运维团队即可将应用部署到试机环境中。LiveRebel 会自动调用冒烟测试。最后,运维团队能够在不停机状态下将应用部署到生产环境中。如果部署过程中有任何环节失败了,LiveRebel 将自动回滚所做的变更。
最后 LiveRebel 就可以将应用——包括代码、数据库和配置等全部同步的内容——发布到各种环境了,现在支持物理环境、虚拟环境或云环境 。部署也会进行版本管理,而且是自动化、完全可回溯且可测试的。可以预见,其结果是团队能更好地进行管理并加速发布,无需在高质量和打断用户体验之间做出妥协。
确实需要持续集成工具吗,或者说 LiveRebel 能否执行持续集成功能?
他们占据着不同的细分市场。LiveRebel 并不负责构建,它负责的是构建以后的事。LiveRebel 是一款发布自动化工具,也可以与流行的持续集成工具集成。例如,如果开发团队过去使用的是 手工打包发布,现在他们可以使用 LiveRebel 命令中心来上传所打的包,然后快速安全地将其部署到多种环境中。
然而,如果团队使用的是像 Jenkins、Hudson 或 Bamboo 这样的持续集成工具的话,他们可以安装 LiveRebel 插件,并创建部署任务, 这些任务会将部署转 LiveRebel。然后,LiveRebel 会部署发布包,包括代码、数据库和配置等内容,在 不停机的状态下将它们一起部署到所选的环境中,而且部署操作有故障保护的。
你能谈一下属性管理吗?
在通过测试、试机、生产等阶段发布应用时,或者将应用部署到 客户或外部的环境时,开发者所遇到的环境属性、环境变量和配置会有所不同。这往往是通过为每个环境都打一个单独的包来解决的。 这意味着面向不同环境的发布会有细微的不同,可能无法完全测试。有些人会通过内部开发的脚本和工具将特定于环境的属性外化, 以此来解决问题。
有了 LiveRebel,发布工程师可以针对每个环境指定应用适用的属性集,LiveRebel 可以把相同的包发布到选定环境中,并应用各自的属性集。缺少某些属性时,它甚至还会给出警告。
这意味着,在测试、试机和生产等环境中,开发者能够进行同样的发布过程,而且可以确保在提交给用户充分测试。
监控能力怎么样呢?
LiveRebel 提供了基本的应用和服务器监控功能,在监控界面上 ,它在每个应用和服务器旁都放有一个 图标。该图标会基于服务器或应用接收到的请求数而跳动,而且会根据运行健康状态由绿变红。鼠标划过该图标时,它会弹出一个框,上面显示响应吞吐量等关键统计信息。它还不能替代成熟的应用性能监控产品,但它确实能够提供用于监控服务器和应用的健康状况的关键指标。
LiveRebel**** 支持如 Ant、Maven 和 Gradle 等常用的构建工具吗?
支持。LiveRebel 提供了功能齐全的命令行接口和 REST API。所以,利用几行脚本,工程师即可将 LiveRebel 与发布工具集成起来。
LiveRebel**** 能和 Hudson,Bamboo 和 TeamCity 等各种源代码控制系统集成吗?
LiveRebel 有现成的 Hudson、Jenkins 和 Bamboo 插件。支持 TeamCity 的插件正在开发中。插件可以通过相应的插件菜单来安装,而且可以通过设置使其与 LiveRebel 安全地通信。 设置完毕之后,通过 LiveReblel,开发者能够自动地将可发布的产品从持续集成工具部署到所选环境中 ,而且这是不需要停机的。所有部署都有故障保护,也就是说,如果有失败发生,LiveRebel 能在用户受到影响之前自动回滚任何修改。任何源代码控制系统都可以。为了管理应用配置,LiveRebel 使用了 GIT。
这与它的姊妹产品 JRebel 看起来完全不同,两者之间有什么协作么?
当然有了,这是我们帮助软件更快推向世界使命的一部分!我们帮助软件团队把开发和发布应用的过程变得更愉快更有效率。
它支持哪些操作系统,包括 Windows、Unix 和 Linux 吗?
这些都支持,而且还支持 MacOS X。这儿有一个的完整清单。
你们的网站说它是免费的, 那么你们的定价模型是什么?
LiveRebel 对于管理 2 个以内的服务器是免费的,也就是开发者至多可以在两台服务器上免费部署应用, 数据库服务器不算在内。管理任何额外的服务器每年需要 $420。
Badrinarayanan 告诉 InfoQ,下一步产品开发将集中在增加平台覆盖面和提供发布管理支持。关于 LiveRebel 更多信息请访问这里。
查看英文原文: ZeroTurnaround has Announced the Availability of LiveRebel 2.6
感谢臧秀涛对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论