FunTester Jenkins 抛弃 Java 8 拥抱 Java 11

TestWhite 测试交流评论139字数 1116阅读3分43秒阅读模式

官方文档链接:https://www.jenkins.io/blog/2022/06/28/require-java-11/。

介绍

Jenkins 项目致力于为最终用户和开发人员提供世界级的平台体验。这种体验的核心是 Java,它是一种面向对象的编程语言,具有 Java 虚拟机 (JVM) 形式的跨平台运行时。自成立以来,Jenkins 项目一直是 Java 的主要消费者,向超过 300,000 个控制器的安装基础分发了 1,​​800 多个插件,并且 Jenkins 经常出现在有史以来顶级 Java 应用程序的列表中。文章源自玩技e族-https://www.playezu.com/179497.html

从 Jenkins 2.357(2022年6月28日发布)和即将发布的 9 月 LTS 版本开始,Jenkins 需要 Java 11。 此外,从 Jenkins 2.355(2022年6月14日发布)和 Jenkins 2.346.1 LTS(6 月 22 日发布, 2022),Jenkins 支持 Java 17。插件已经在 J​​ENKINS-68446 中准备好了。 使用插件管理器在升级到 Jenkins 2.357 之前和之后升级所有插件。文章源自玩技e族-https://www.playezu.com/179497.html

长期使用 Jenkins 的用户和 Java 开发人员可能会回忆起之前迁移到 Java 7 和 Java 8 的过程。虽然这些迁移并非微不足道,但与迁移到 Java 9 及更高版本的规模相比,它们显得苍白无力。Java 9 代表了 Java 生态系统在许多方面发生的巨大变化。不仅许可政策、版本控制方案、发布节奏和长期支持 (LTS) 周期发生了变化,而且语言和运行时也发生了许多重大的技术变化(例如,Project Jigsaw),并非所有这些都保留了以前版本所具有的高度兼容性。尽管从长远来看,这些演进性变化可能符合 Java 社区的最大利益,但社区仍有责任了解其影响并做出相应的计划。文章源自玩技e族-https://www.playezu.com/179497.html

数据

FunTester
 Jenkins 抛弃 Java 8 拥抱 Java 11插图
文章源自玩技e族-https://www.playezu.com/179497.html

上述数据表明,每个主要 Java 版本的生命周期显然是一个高斯函数。Java 的每个主要版本都由供应商发布,开始一个快速增长的采用阶段,达到使用高峰,失去 Jenkins 项目的支持,开始使用量下降,使用量下降到终端状态,最后到达供应商端生命周期 (EOL),大致按此顺序。文章源自玩技e族-https://www.playezu.com/179497.html

Java 6Java 7Java 8Java 11
发布日期2006年12月11日2011年7月7日2014年3月18日2018年9月25日
快速使用量2009 年 10 月(11,193 次安装)2013 年 2 月(10,997 次安装)2015 年 2 月(12,210 次安装)2019 年 11 月(10,094 次安装)
峰值使用量2013 年 3 月(47,244 次安装)2015 年 6 月(68,681 次安装)2021 年 2 月(261,468 次安装)不适用
Jenkins 要求下一个主版本2015 年 5 月(21,798 次安装)2017 年 4 月(40,569 次安装)2022 年 6 月(185,286 次安装)不适用
终端使用量下降2016 年 5 月(10,283 次安装)2019 年 3 月(10,123 次安装)不适用不适用
生命周期结束 (EOL)2015年12月31日2019年7月31日至少 2026 年 11 月至少 2024 年 10 月

进一步推断,可以观察到以下趋势:文章源自玩技e族-https://www.playezu.com/179497.html

  • Jenkins 用户至少需要一年时间才能开始采用 Java 的新版本。
  • 一旦 Jenkins 用户开始采用新版本的 Java,之前 Java 版本的使用量最终会达到峰值并开始下降。
  • Jenkins 项目历来开始需要新的 Java 版本,大约在前一个 Java 版本衰退期的一半。
  • 一旦 Jenkins 需要一个给定的 Java 版本,之前的 Java 版本的使用量就会继续下降,直到达到下降的最终阶段。
  • 上述下降的最终阶段通常与 Java 供应商的积极支持结束有关。

结论

至关重要的是,在前一个版本的使用量明显下降之前,Jenkins 项目从未需要给定版本的 Java。这通过确保大多数用户在生产中成功运行新版本来降低风险。相反,对 Jenkins 用户的新 Java 版本的要求会激励其余用户进行升级,并防止不愿升级的用户继续依赖即将达到供应商生命周期终止 (EOL) 的版本,从而使项目面临风险)。文章源自玩技e族-https://www.playezu.com/179497.html

Java 11 的要求与历史先例一致。Java 8 的使用在 2021 年 2 月达到顶峰,此后一直在下降。同时,自 2019 年 11 月以来,Java 11 的采用率一直在迅速增加,但尚未达到顶峰。现在是需要 Java 11 的时候了。文章源自玩技e族-https://www.playezu.com/179497.html

BUG 挖掘机·性能征服者·头顶锅盖文章源自玩技e族-https://www.playezu.com/179497.html

  • 性能测试专题
  • Java、Groovy、Go、Python
  • 单测&白盒
  • FunTester 社群风采
  • 测试理论鸡汤
  • 接口功能测试专题
  • FunTester 视频专题
  • 案例分享:方案、BUG、爬虫
  • UI 自动化专题
  • 测试工具专题

阅读原文,跳转我的仓库地址文章源自玩技e族-https://www.playezu.com/179497.html

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证