CloudBees 发布 Jenkins 企业版

  • Kostis Kapelonis
  • 郭雪品

2012 年 1 月 19 日

话题:Java持续集成DevOps语言 & 开发文化 & 方法

CloudBees发布了Jenkins 企业版。作为开源的持续集成服务器商业版,它的目标用户是大规模安装 Jenkins 的公司。

Jenkins 企业版致力于:

  1. 在全球范围内提供 7*24 小时技术支持;
  2. 将“长期支持版”的支持期限从三个月(社区支持的开源版)延长至一年(企业版);
  3. 为大规模安装 Jenkins 的公司提供专有插件。

CloudBees 聘请Koshuke Kawaguchi来开发 Jenkins 企业版。在 Hudson分裂前,原先的 Hudson 就是由 Koshuke Kawaguchi 带队开发的。此外,还有一些 CloudBees 员工原本就是 Jenkins 源码的提交者。所以,也许别的公司也能为用户提供 Jenkins 专业支持,但显然 CloudBees 对 Jenkins 的内部构造理解更深刻,对 Jenkins 的支持也更专业。

Jenkins 企业版的另一个特点是,用到它的公司不必再像原来那样频繁更新版本了。分裂前的 Hudson 版本发布时间表安排得非常紧凑。Jenkens 延续了这个节奏,甚至每周都会发布新版本。这种发布速度,虽然显示了 Jenkins 的发展状态很健康且开发者保有持续浓厚的兴趣,但是对于使用它的公司,却并不能满足其对 Jenkins 稳定性和持久性的要求。为了保持稳定,有些公司保留了自己的 Hudson/Jenkins 代码分支。

为了解决这个问题,Jenkins 采用了LTS 版本(类似Ubuntu Linux),每三个月更新一次。这项服务由开源版本提供。Jenkins 企业版把 3 个月的时间窗延长到了 12 个月。如有公司想使用稳定版,可以选择使用 LTS 版本,并且能在长达一年的时间里,获得所有重要的更新(如重大安全漏洞修复)。

对用户来说,比起开源版本,Jenkins 企业版最明显的新增内容是,它提供了一套插件来解决大规模安装 Jenkins 时遇到的问题。截至写此文时,已提供的插件有:

模板插件可能对许多公司(与 Jenkins 安装规模无关)有用,因为它解决了对相似的 job 需要重复配置的问题。在创建 job 时,有些 job 基本设置相同,但仅因为一些细节不同(如源码控制系统的分支不同、发布构建的步骤不同,或是使用的 Maven profile 不同),就需要多次配置。手工配置这些 job 很繁琐,因为后面做的改动不能自动应用于所有 job。基于已有 job,以复制、粘贴的方式再创建新 job 很容易出错。复制相似的 job 是非常重要的功能,Oracle 也已决定将它作为一项主要新特性加入Hudson。Hudson 最近发布了 2.2.0 版本,它已经支持项目级联(可从开源版本中获取)。

上面所列的其余插件,主要是解决 Jenkins 在公网中大规模安装(设置许多的 project 或 job)时可能存在的问题。

InfoQ 联系了Steven Harris(以前在 Oracle 工作,现在是 CloudBees 的高级产品副总裁)就此事做了一些说明:

InfoQ:什么类型的公司适宜采用 Jenkins 企业版?Jenkins 企业版的目标用户群体是哪些?

虽然 Jenkins 既可用于大型组织也可用于小型组织,但我们预计那些投入了大量服务器安装 Jenkins 的组织对 Jenkins 企业版会更感兴趣。这有两个原因。首先,这些组织更关注这些插件,而且新增的插件对它们也最有益。因为这些插件可以帮助它们解决安全性、繁杂地安装配置和使用优化这几方面的问题。其次,这些组织更新软件往往受到限制,需要有承诺能获得支持才能更新。超过 600 名 Jenkins 用户参与的一项调查显示,82% 的受访者认为 Jenkins 很重要;接近 20% 的受访者投入超过 10 台服务器运行 Jenkins 服务,13% 的受访者投入服务器数量超过 50 台,所以我们认为用户对 Jenkins 上述插件功能的需求量会逐渐增加。

InfoQ:Jenkins 企业版的目标用户仅仅是现在的 Jenkins 用户,还是也包括 Hudson 用户?对这两类用户,如果要升级为 Jenkins 企业版,是仅将现有的系统做简易替换即可,还是需要做其它改动(例如现在用的是 Hudson)?

将 Hudson 更改为 Jenkins 基本上简易替换即可,但是我们的服务以及 CloudBees 的插件,都只对 Jenkins 提供。所以,Hudson 用户如果要使用 Jenkins 企业版,需要花费几小时先把 Hudson 替换为 Jenkins,然后只需打开 Jenkins 更新中心,就能获得 Jenkins 企业版的专有插件。

InfoQ:哪些人应该使用 Jenkins 企业版,哪些人应该使用云端 Jenkins(既然 CloudBees 提供了这两者)?

可以同时使用两种!Jenkins 服务可以让公司只为运行 Jenkins 所用到的资源付费,此外还扩展了一键访问源码控制系统、合作伙伴所提供内容的功能。所以,它消除了 IT 使用者的烦恼,因为当 Jenkins 需要使用更多资源时才提供,当用不到时就不提供,也不需要再付费。当然,你也能通过 Jenkins 企业版的插件,使用我们托管的 Jenkins 服务。Jenkins 服务集成了在运行时服务(RUN@cloud)上运行程序的功能,这让团队很容易就能共享工作,并采用敏捷实践中的持续发布策略。Jenkins 企业版对致力于提升 Jenkins 能力的组织而言,是非常好的解决方案。如之前所说,Jenkins 企业版能帮助组织解决安全性、大规模安装、操作优化等领域的问题。

InfoQ:确切地说,如何获取 LTS 版本 12 个月的支持?企业版中的缺陷同时也会在社区开源版本中修复吗?或者社区开源版本缺陷修复时间会晚一些(还是根本不会修复)?

会在当前的 LTS 版本上修复,并会将修复移植到此前的三个版本中,实际上就是提供了一年的时间窗。这样做的目的是让想稳定使用某个 LTS 版本的公司,不需要升级版本,缺陷仍然能得到修复。而普通的社区版本发布周期是三个月,也就只能获得三个月的缺陷修复支持。我们期望在新的社区版本发布时,能修复几乎所有的缺陷,这样也能强化社区自身的能力。我们也可能对个别 Jenkins 企业版的用户发布缺陷修复版本,用来处理那些我们或社区认为不适合在 LTS 版本中修复(以保持 LTS 版本稳定)的问题,不过我们期望那只是一些特例。

InfoQ:除了已有的这几款插件,企业版将来还会提供哪些插件?

我们期望继续在当前这三方面提升:安全、大规模安装配置、优化操作。我们也期望能解决如报告和容错转移之类的问题。而且,因为社区在 Jenkins 的发展中发挥了惊人的作用,我们将继续勤奋地在社区工作,使 Jenkins 总体更好用,从而提升那些需要插件来弥补的功能。

InfoQ:现在已经尘埃落定,您对 Hudson 和 Jenkins 有什么看法吗?企业版的 Jenkins 与Sonatype 公司支持的 Hudson有什么区别?在竞争中它的优势是什么?

我们重新定位了 Jenkins,称其为:投资持续集成,Jenkins 是您安全和明智的选择。我们期望 Hudson 能尽快从 Eclipse 的孵化状态走出来,但是原先的 Hudson 社区用脚投票也会支持 Jenkins。我们需要看看借助 Eclipse 社区的影响,情况是否会有所改变。Sonatype 当前的关注点似乎是Sonatype Insight产品,而不是 Hudson。

InfoQ:可以给我们介绍一下 Jenkins 企业版如何收费吗?

价格基于组织中实际运行 Jenkins 企业版的数量而定。这种计价方式意味着,组织只需要为使用到的资源付费,而不必按用户数量付费。而且,服务支持的等级不同,价格也不同。组织如果想购买,可以通过这个链接联系我们。同时,Jenkins 企业版提供了 30 天的试用期,推荐组织试用。我们的公共云产品定价可以从这里获取

直接下载可获取为期一个月的 Jenkins 企业版试用版本。它的安装方法与开源版本相似。直接运行一个实例,是评估其新增专有插件作用的最简单方式。

查看英文原文:CloudBees Releases Jenkins Enterprise

Java持续集成DevOps语言 & 开发文化 & 方法