JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始

今回は「JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始」についてご紹介します。

関連ワード (導入、年後、発表等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Jenkins開発チームは、6月28日リリースのJenkins 2.357および9月にリリース予定のJenkins LTS版からはJenkinsの実行環境としてJava 11が必須になることを、ブログ「Jenkins requires Java 11」で明らかにしました。

これまでJenkinsはJava 8もしくはJava 11を実行環境としていましたが、Java 8の対応がなくなることになります。

Jenkins 2.357 released today as the first Jenkins version to require Java 11. @bcrow shares the history of Java support in Jenkins and the benefits of the update. https://t.co/FPTNBTG3jK pic.twitter.com/BcYV5McgpS

— Jenkins (@jenkinsci) June 28, 2022

また、6月14日リリースのJenkins 2.355および6月22日リリースのJenkins 2.346.1 LTSからはJava 17の対応を開始することも合わせて発表しました。

Java 8の利用は下り坂の一方、Java 11が急上昇

Jenkinsは、ビルドやテスト、デプロイなどを自動化してくれるツールとしてよく知られていると同時に、Javaをランタイムとして用いる代表的なツールの1つでもあります。

Javaは、Java 9から導入されたJigsawと呼ばれるモジュール機能などによって大きな変更が加えられたことなどから、Java 8からJava 9以降のバージョンへのバージョンアップはそれほど容易ではなく、多くのユーザーがまだJava 8を利用していると見られます。と同時に、この現状に配慮する多くのJavaディストリビューションでは、Java 8のサポート期間をこの先まだ数年以上継続する計画を明らかにしています。

そうしたなかで、Jenkinsの開発プロジェクトでは匿名のJava使用統計情報を公開しており、これによるとJava 8の利用は2021年頃をピークに急激に減り始めた一方、Java 11の利用は急上昇していることが分かりました。

fig

JenkinsがJava 11へ移行する3つの理由

こうした状況を踏まえ、JenkinsプロジェクトではJava 11へ移行するタイミングが来たと次のように説明しています。

1つ目の理由はセキュリティ面での懸念。

While the Jenkins project could remain on Java 8 for the foreseeable future, this would be imprudent for several reasons. First, many key third-party libraries consumed by the Jenkins project (e.g., Jetty, JGit, Spring Framework, and Spring Security) are beginning to require newer versions of Java, and staying on Java 8 puts the Jenkins project at risk of eventually not being able to receive security updates from upstream projects.

Jenkinsプロジェクトは、当面Java 8を使い続けることも可能ですが、いくつかの理由から、これが賢い選択ではないといえます。1つ目は、Jenkinsプロジェクトが利用する多くの重要なサードパーティライブラリ(Jetty、JGit、Spring Framework、Spring Securityなど)が新しいバージョンのJavaを必要とし始めており、Java 8のままでは、いずれJenkinsプロジェクトが上流プロジェクトからのセキュリティ更新を受け取れなくなる危険性があるためです。

2つ目は、新しいJavaではパフォーマンスやメモリ使用などで大きな改善がある点。

Furthermore, significant runtime improvements have been made to the Java Platform in recent years. For example, LinkedIn saw drastic performance improvements when migrating to Java 11, and Adoptium saw significant memory usage improvements when migrating to Java 11 (on Jenkins, no less!). Recent Java runtimes provide a number of improvements to garbage collection, among other areas.

さらに、ここ数年Javaプラットフォームには大幅なランタイムの改良が加えられています。例えば、LinkedInではJava 11への移行でパフォーマンスが劇的に改善されました。そしてAdoptiumではJava 11に移行する際にメモリ使用量が大幅に改善されました(Jenkins上で、です!)。また、最近のJavaランタイムはガベージコレクションで多数の改善がありますし、それ以外にも多くの改善があるのです。

最後の理由は、最新のJavaを採用することでJenkinsそのものを魅力的なプロジェクトに保つため。

Finally, Jenkins takes pride in its strong development community, and staying on a current version of Java helps attract and retain developers.

最後に、Jenkinsは強力な開発コミュニティに誇りを持っており、最新バージョンのJavaを使い続けることは、そこへ開発者を惹きつけ続けるためでもあります。

Java 11は2018年にリリースされ、Java 17はその3年後の2021年にリリースされたJavaで、いずれもLTS(Long Term Support)対象のJavaです。

日本国内でもまだJava 8のユーザーは多いと思われますが、このJenkinsによるJavaバージョンアップは、Java 11もしくはJava 17へ移行を検討するうえでよい材料、あるいは上司や顧客へのよい言い訳になるのではないでしょうか。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
火星で初飛行に成功、NASAの小型ヘリコプターを支えるオープンソースソフトウェア
IT関連
2021-04-22 02:39
Uberの第2四半期は配車、配達事業の売上高は成長するも赤字幅は拡大
シェアリングエコノミー
2021-08-06 20:45
Twitter公式、エイプリルフール傑作リストをツイート
企業・業界動向
2021-04-03 04:37
Yahoo! Japanが欧州からのアクセスを4月6日午前11時から遮断、サービス利用不可に
IT関連
2022-02-03 14:10
日本HP新社長が「第2の創業」を打ち出した理由
IT関連
2022-01-22 14:03
ベリサーブ、IoTデバイスの互換性検証をサブスクリプションで提供
IT関連
2022-08-25 19:55
スポーツ選手のNFTと独占コンテンツを販売するSportsIconが「7桁」ドルの資金調達
ブロックチェーン
2021-04-24 17:31
LG、スマホ事業から撤退 AIなど他分野にリソースを集中
企業・業界動向
2021-04-06 17:10
ベゾス氏のBlue Origin、初の民間人宇宙旅行を7月20日に 1座席をオークション
企業・業界動向
2021-05-07 23:15
EUデータ保護当局のトップ監督官が公共の場での顔認識の禁止を強く要請
パブリック / ダイバーシティ
2021-04-27 23:08
英EU離脱でEUからのデータ移動はどうなる?
IT関連
2021-01-15 19:47
【レビュー】アップルの最新位置情報デバイスAirTagの第一印象
ハードウェア
2021-04-24 06:24
インテル、仮想通貨マイニング向けチップを年内出荷へ
IT関連
2022-02-15 10:53
「macOS」で「キーチェーンアクセス」を使う–パスワードを見つけて変更するには
IT関連
2022-07-19 00:09