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