GOPS现场 | 大企业如何集中管理Jenkins —对话龙智技术顾问

作者:龙智      发布时间:2022-09-23

2022GOPS全球运维大会·深圳站,我们对话了龙智技术顾问陈红华,为大家带来Jenkins企业版——CloudBees的产品介绍、功能特点以及应用范围,为有大规模管理Jenkins难题的企业提供一个新的、企业级解决方案。

视频文字实录

Q:CloudBees CI是一个刚刚进入中国不久的产品,对大家来说比较新,请简单地介绍一下。

A:CloudBees CI依托的Jenkins知名度较高。我们一说Jenkins大家就了解了,CloudBees CI知名度小一些,但一说它是企业版Jenkins,大家就都知道了。但可能客户会有疑问,有开源版的Jenkins,我们为什么还要企业版呢?很多人不知道为什么要使用它。

普遍的体验是,如果是一个小范围团队,实际上(Jenkins)使用得比较好,(Jenkins)帮助很多企业解决了持续集成的痛点或需求。但是,团队逐渐在变大、业务变复杂的时候,会遇到困难。

CloudBees是Jenkins的开源代码最大贡献者,它提升了Jenkins的所有功能。用CloudBees不影响Jenkins原有的功能,Jenkins提供的任何功能CloudBees都有。在原有的基础上,它还提供了一个Operation Center操作中心。

在这个基础上,CloudBees的作用得以体现。它把原来的Jenkins全管理起来。大家也普遍反馈说,虽然是小团队,但他们也用了好几个实例,是单独管理的。或者说有多个实例,依托于一个团队管理。业务稍微复杂一点时,虽然也跑得通,但确实有点困难,需要分开管理多个实例。这时,如果使用CloudBees CI,就不需要分开管理,它有操作中心来进行统一集中管理。这体现出它的价值。

CloudBees CI能够可视化,看到全部多个节点的Jenkins,可以进行配置。CloudBees CI的功能更强,比如支持方面,Jenkins作为开源软件,基本不提供支持。虽然(多数时候)跑的比较顺畅、用得较好,但不可能完全遇不到问题,或者说不可能完全不需要支持。需要支持时,无法从Jenkins处获取。这时,CloudBees提供了支持服务,不仅仅是原厂,我们龙智这样的国内代理商也提供支持服务。

产品布署好,自带的休眠技术能够释放资源,在不用的时候把资源释放给别的节点使用。这是它的特点,也是优势所在。

Q:具体来说,CloudBees主要提供哪些功能?

A:主要覆盖CI/CD这块。这以前是Jenkins提供的功能,现在CloudBees也提供此功能,并覆盖Jenkins CI/CD部分的所有功能。

很多用户可能有限定的使用场景,比如要求用现在较新的技术K8S部署,不想用过时的技术去部署CloudBees或Jenkins。他们以前也用K8S部署Jenkins,即使CloudBees替换了Jenkins,还是一样用K8S部署CloudBees,把K8S自带的优秀功能用上。

一些客户说,以前用了Jenkins的插件,担心用CloudBees后,插件是不是用不了?Jenkins所有的插件CloudBees是全部继承的,并且CloudBees更进一步,所有的插件分等级支持。

并且,CloudBees自主开发了一些插件,这些插件在社区中没有,采购CloudBees后才能去应用,享受到这些插件带来便利。

Q:与其他持续集成的工具相比呢?

A:一般情况下,我们跟客户谈到竞品,他们有部分使用Bamboo,有部分使用自研工具。用自研工具的,一可能是大厂,二是有国产化替代要求。这种产品因为暂时还没有面向市场,可能只在是内部使用,很多大厂都有的这种产品。昨天和今天都碰到了这样的用户,跟他聊的时候,他们确实说遇到过插件冲突。也有业务团队较大、用了多个节点的,反馈管理起来比较麻烦,一下就说到了痛点(这些都是Cloudbees可以解决的)。

Q:使用Jenkins的团队应该如何判断引进CloudBees的时机?或者说,Cloudbees适合什么样的团队使用?

A:小团队(觉得自己)用不上。大团队如果(Jenkins)使用不顺畅,可能会频繁的反馈问题。工具链不好导致频繁反馈问题,比如开发程序CI、代码CI时出现了问题,向开发团队反馈,开发就比较烦。因为他的核心工作是开发代码,而不是解决CI问题,这相当于让开发增加了工作量。

工具用得不好,碰到了难点,相当于加大其他人员的工作量,因为要去解决问题和难点。如果用开源的Jenkins,碰到难点后,社区上找不到解决方案,只能自己去调查。

有痛点就应该去寻找解决方案。有Jenkins的痛点,就要去找企业级的解决方案。应该有痛点就解决,寻找解决方案。

有一些用户反馈,碰到痛点后,也没想去找CloudBees这样的解决方案,而是找了替代性的方案,比如多部署一个节点、多部署一个Jenkins实例等,这可能临时解决问题,但不是长久之计。因为多部署一个节点,相当于多一个运维的负担,以后可能会多一个产生风险的点。这只是临时解决问题,对那些想减少自己的运维工作量,让工具代替人力做事的人来说,应该去找成熟的、解决痛点的产品,而不是忍受痛点。

龙智DevSecOps系列在线研讨会—自动化测试专场

如何通过自动化测试实现降本、增效与提质