请参考在Java 11必威国际有限公司上运行Jenkins文档中有关于如何在Java 11上运行Jenkins的最新细节。必威国际有限公司

这是一篇由java11支援小组.12月18日(UTC时间下午4点),我们还将在Jenkins在线Meetup (必威国际有限公司链接

必威国际有限公司詹金斯Java

必威国际有限公司Jenkins是领先的开源自动化服务器之一,仍然只支持Java 8。9月25日,OpenJDK 11发布了。这是一个长期的支持,将停留在周围数年,在Jenkins项目中,我们有兴趣提供这个版本的全面支持。必威国际有限公司在过去的一年里,许多贡献者一直致力于在项目(Jenkins JEP-211)中启用对Java 11的支持。必威国际有限公司这是一条荆棘的路,但现在,代表必威国际有限公司詹金斯平台团体,我们很高兴地宣布在Jenkins每周发布版中Java 11支持的预览可用性!必威国际有限公司

为什么我们需要Java 11的预览可用性?它为Jenkins贡必威国际有限公司献者和早期采用者提供了一种在明年年初发布通用可用性之前尝试这些更改的方法。它应该能帮助我们进行更多探索性的测试,并且有希望在Jenkins正式支持Java 11之前解决大部分问题。必威国际有限公司

在这篇博文中,我们将描述如何使用Java 11运行,以及如何调查兼容性问题并报告它们。

背景

你可能还记得,2018年6月我们有一个这家网站在线旨在在Jenkins中支持Java 10+。必威国际有限公司作为黑客马拉松的一部分,我们提供了Java 11的实验支持.这次活动对我们来说是一个巨大的成功,我们能够让Jenkins在Java 10和11-ea上运行,包括Jenkins Pip必威国际有限公司eline、JobDSL、Docker/Kubernetes插件、Configuration as Code、BlueOcean等主要功能。它给了我们信心,我们可以在Jenkins中提供Java 11支持,而不需要重大的破坏性更改。必威国际有限公司这家网站后,奥列格Nenashev创建JEP-211: Jenkins支持Java 10+必威国际有限公司(后来调整为只针对Java 11)。平台特殊利益集团已经成立,以协调Java 11支持工作和其他平台支持工作(打包、操作系统支持等)。

一组贡献者继续致力于Java 11支持,主要专注于升级功能补丁,在开发工具中启用Java 11支持,测试和解决已知的兼容性问题。看到平台团体会议记录查看详细的状态更新。从Jenkins 2.148必威国际有限公司开始,Jenkins成功地在各种Linux和Windows平台上与最新的OpenJDK 11版本一起运行。我们执行了大量的自动化和探索性测试,Jenkins插件似乎在一些例外情况下运行良好(见下文)。必威国际有限公司针对GA版本的测试自动化工作正在进行中,但我们能够成功地全面运行Jenkins核心测试必威国际有限公司验收测试工具,插件兼容测试推荐插件。我们还部署了一个临时的Java 11的实验更新中心这允许为Java 11早期采用者快速交付修复。必威国际有限公司Jenkins 2.155+在使用Java 11运行时默认使用这个更新中心,这就是为什么我们宣布该版本的预览可用性。

2018年11月19日,我们在平台团体会议上介绍了当前的Java 11支持状态幻灯片我们同意继续预览可用性,这样我们就可以为Jenkins用户提供一些评价。必威国际有限公司在12月04日的下一次会议上,所有的障碍都被解决了,平台团体会议签署了Java 11预览可用性。

在Docker中必威国际有限公司运行Jenkins和Java 11

从Jenkins 2.155必威国际有限公司开始,我们为Jenkins控制器和代理提供Docker映像。所有这些图片都是基于官方的openjdk: 11-jdkDocker社区维护的形象。有关于迁移到其他基本映像的讨论,但我们决定将其排除在Preview Availability范围之外。同样,我们暂时不提供Alpine图像。

必威国际有限公司詹金斯控制器映像

Java 11支持现在作为官方版本的一部分提供必威国际有限公司詹金斯/詹金斯的形象。你可以用Java 11简单地运行必威国际有限公司Jenkins:

Docker运行-p 8080:8080 -p 5000:50000 jenk必威国际有限公司ins/jenkins:jdk11

以下标签可供选择:

  • jdk11-支持Java 11的最新每周发布版本

  • 2.155 -jdk11-用Java 11打包的每周发布版本

图像是完全兼容的必威国际有限公司詹金斯/ jenkins文档,例如你可以用plugins.txt安装插件,挂载卷和通过环境变量传递额外的选项。

代理的图片

如果您通过Docker或Kubernetes插件使用集装箱代理,我们还为Jenkins代理发布了官方Docker图像:必威国际有限公司

所有图像都使用latest-jdk11JDK11 bundle的image标签。很抱歉这些过时的名字!

实验詹金斯控制器图像必威国际有限公司

为了简化测试,我们还在DockerHub上提供了一些实验性图像。我们为他们建立了一个连续的交付流程,所以你可以得到补丁,而无需等待詹金斯每周发布。必威国际有限公司

最终我们将把实验流程转移到新的必威国际有限公司jenkins4eval作为组织的一部分被创建中- 217

詹金斯。必威国际有限公司与Java 11的战争

在没有Docker的情况下运行并不是那么简单,因为Jenkins依赖于一些从Java 11中删除的模块。必威国际有限公司我们计划在General Availability发行版中以某种方式解决它(参见必威国际有限公司詹金斯- 52186),但目前在Java 11中运行Jenkins WAR需要一些手动操作。必威国际有限公司

  1. 下载Jenkins必威国际有限公司 WAR 2.155版

  2. 将以下库下载到与jenkins.war相同的目录中必威国际有限公司

  3. 运行如下命令:

使用${必威国际有限公司JAVA11_HOME}/bin/java \ -p jaxb-api.jar:javax.activation.jar——add-modules java.xml.bind,java. jar运行Jenkins。激活\ -cp jaxb-core.jar:jaxb-impl.jar \ -jar jenkins。必威国际有限公司war——enable-future-java——httpPort=8080——prefix=/jen必威国际有限公司kins

已知的兼容性问题

为了帮助用户查找兼容性问题,我们创建了一个新的已知的Java 11兼容性问题Wiki页面。

几个重要问题和障碍:

我们也知道在其他插件中有一些小的不兼容性,但我们不认为它们是预览可用性的障碍。

报告兼容性问题

如果您发现任何Java 11不兼容,请在我们的bug追踪器中报告问题.请设置java11-compatibility标签,以便它们自动出现在Wiki页面上并进行分类。

对于安全问题,请使用标准漏洞报告过程.尽管我们将在预览版中公开修复Java 11的特定问题,但遵循安全流程将帮助我们调查对Java 8用户的影响。

java11支援小组

一旦Java 11支持发布,我们期待插件和Jenkins核心的回归报告。必威国际有限公司其中一个问题是带有本地库的奇异平台,当然还有其他Java版本。还有第三方库与Java 11不兼容的风险。为了降低风险,我们创建了一个java11支援小组.这个团队将专注于对传入的问题进行分类,帮助审查拉请求,并在某些情况下交付修复。这个团队的流程是记录在中- 211。

我们并不期望java11支援小组能够修复所有发现的问题,我们将与Jenkins核心和插件维护人员合作,以获得修复交付。必威国际有限公司如果您有兴趣加入我们的团队,请在平台SIG Gitter通道

贡献

我们将感谢任何类型的贡献在Java 11的努力,包括尝试Jenkins与Java 11,报告和修复兼容性问题。必威国际有限公司

  • 如果您想进行探索性测试,我们建议在您的一个测试实例中尝试Java 11支持。这样的测试非常受欢迎,特别是如果您使用一些服务集成插件或外来平台。提供了问题报告指南以上

  • 如果你是一个插件开发人员/维护人员,我们会很感激你可以用Java 11测试你的插件。为了提供帮助,我们创建了一个Wiki页面Java 11开发人员指南.本页解释了如何用Java 11构建和测试插件,还列出了开发工具中已知的问题

无论你做什么,请把你的经历发信息给我们平台SIG邮件列表.这些信息将极大地帮助我们跟踪更改和贡献。任何其他关于迁移复杂性的反馈都将非常感谢!

接下来是什么?

12月18日(UTC时间下午4点),我们将在Jenkins在线Meetup (必威国际有限公司链接).在这次会议上,我们将总结当前的Java 11预览支持状态。如果你是一个插件开发人员,我们还将组织关于用Java 11测试插件和解决兼容性问题的通用最佳实践的单独会议。如果您感兴趣,请关注平台团体公告。

在接下来的几周里,我们将专注于处理来自早期采用者的反馈,并修复发现的兼容性问题。我们还将继续致力于java11支持补丁的工作,争取在明年全面可用(必威国际有限公司詹金斯- 51805).除此之外,我们将开始在子项目中支持Java 11,包括必威国际有限公司詹金斯X而且必威国际有限公司詹金斯常绿

关于作者
奥列格Nenashev

必威国际有限公司Jenkins核心维护者和董事会成员,开源软件和开放硬件的倡导者,持续交付基金会的TOC主席。Oleg从2008年开始在硬件/嵌入式项目中使用Hudson,并在2012年成为Jenkins的积极贡献者。必威国际有限公司现在他维持着[詹金斯档案跑步者](必威国际有限公司https://github.com/必威国际有限公司jenkinsci/jenkinsfile-runner/),贡献了几个詹金斯必威国际有限公司团体和外展计划(谷歌代码之夏Hacktoberfest)和组织必威国际有限公司詹金斯聚会在瑞士和俄罗斯。Oleg致力于开源程序和[keeptn](https://keptn.sh/)在[Dynatrace](https://dynatrace.com)、开源项目办公室。