Jenkinsの公開鍵(GPGキー)エラーでyum installが失敗する時の対処法

saratogax
記事内に商品プロモーションを含む場合があります

AmazonLinux2 に Jenkins をインストールしようとしたら以下のエラーが発生。

Important Notice: Beginning with LTS 2.387.2 and weekly 2.397, releases will be signed with a new GPG key.
Administrators must install the new key on their servers before attempting to update Jenkins.

以前、2.235 のインストール時に似たような状況になりましたが、どうやら今回も同様のパターンのようです。

今回は、AmazonLinux2 にJenkins2.387LTS や 2.397 以上をインストールする際のエラーについて対応していきます。

エラーの原因

Jenkins では 2.387 LTS や 2.397 以降のバージョンで、署名に使われている GPG キーが新しくなっています。

よって、サーバに新しいキーをインストールしてあげないと Jenkins のインストールやアップデートができません。

また、Jenkins は必須の Java バージョンを段階的に引き上げており、現在は Java 17 以上(直近の weekly 版では Java 21 以上)が必要です。Java 8 や 11 ではもう起動できません。

新しいGPGキーのインストール

Jenkins はリポジトリの署名キー(GPGキー)を定期的にローテーションしています(2020年 → 2023年 → 2026年…)。そのため、新しいキーをサーバに import していないと install / update がエラーになります。

本記事執筆当時の jenkins.io-2023.key2026年3月26日に失効しました。現在は jenkins.io-2026.key が現行で、weekly 2.543 / LTS 2.541.1 以降はこのキーが必要です。

現行キー(jenkins.io-2026.key)のリポジトリ定義とキーの import は以下の通りです。

# リポジトリ定義(LTS の例)
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

# 現行の署名キー jenkins.io-2026.key を import
# LTS:
sudo rpm --import https://pkg.jenkins.io/rpm-stable/jenkins.io-2026.key
# weekly:
sudo rpm --import https://pkg.jenkins.io/rpm/jenkins.io-2026.key

キー名やパスは将来また変わる可能性があります。エラーが出たら必ず公式の Jenkins Packages(Redhat) ページで最新のキーを確認してください。

Javaのインストール

AmazonLinux2 で Jenkins に必要な Java をインストールするには、openjdk のパッケージが標準で用意されていません。

そこで、AWS らしく amazon-corretto で対応しましょう。

$ yum -y install java-17-amazon-corretto

$ yum -y install jenkins

Amazon Linux 2 はサポート終了が近づいています。Amazon Linux 2023 では yum の代わりに dnf を使いますが、リポジトリ定義とキー import の考え方は同じです(yum と dnf の違い)。

Jenkinsの設定

Jenkins の設定周りで特に変更点はないので、これまで通りの操作や設定で問題ありません。

・/etc/sysconfig/jenkins の設定
・nginx の設定
・jenkins ユーザのシェル環境
・GitHub との連携(デプロイキー)

まとめ

Jenkins の GPG キーのインストールと Java のバージョンについて紹介してきました。

weekly バージョンを使っている自分も悪いのですが、LTS バージョンでも java8 は切り捨てられる時代。

Jenkins が使えなくなると、デプロイ作業やバッチ処理などに影響が出てしまうプロジェクトも少なくないハズ。

ただ、CI 周りは GitHub Actions で事足りる時代になったので、Jenkins もそろそろ潮時なのかな。

って書いてたら、GitHub 側のサービスで障害が発生して使えないというオチ・・・。

参考(出典)

ABOUT ME
saratoga
saratoga
フリーランスエンジニア
仕事にも趣味にも IT を駆使するフリーランスエンジニア。技術的な TIPS や日々の生活の中で深堀りしてみたくなったことを備忘録として残していきます。
記事URLをコピーしました