写点什么

Jenkins 抛弃 Java 8 拥抱 Java 11

作者:FunTester
  • 2022 年 7 月 03 日
  • 本文字数:1291 字

    阅读完需:约 4 分钟

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

介绍

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


从 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 之前和之后升级所有插件。


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

数据


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



进一步推断,可以观察到以下趋势:


  • Jenkins 用户至少需要一年时间才能开始采用 Java 的新版本。

  • 一旦 Jenkins 用户开始采用新版本的 Java,之前 Java 版本的使用量最终会达到峰值并开始下降。

  • Jenkins 项目历来开始需要新的 Java 版本,大约在前一个 Java 版本衰退期的一半。

  • 一旦 Jenkins 需要一个给定的 Java 版本,之前的 Java 版本的使用量就会继续下降,直到达到下降的最终阶段。

  • 上述下降的最终阶段通常与 Java 供应商的积极支持结束有关。

结论

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


Java 11 的要求与历史先例一致。Java 8 的使用在 2021 年 2 月达到顶峰,此后一直在下降。同时,自 2019 年 11 月以来,Java 11 的采用率一直在迅速增加,但尚未达到顶峰。现在是需要 Java 11 的时候了。


BUG 挖掘机·性能征服者·头顶锅盖



阅读原文,跳转我的仓库地址

发布于: 刚刚阅读数: 4
用户头像

FunTester

关注

公众号:FunTester,800篇原创,欢迎关注 2020.10.20 加入

Fun·BUG挖掘机·性能征服者·头顶锅盖·Tester

评论

发布
暂无评论
Jenkins抛弃Java 8拥抱Java 11_FunTester_InfoQ写作社区