Jenkinsの公開鍵(GPGキー)エラーでyum installが失敗する時の対処法
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-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
Jenkinsの設定
Jenkins の設定周りで特に変更点はないので、これまで通りの操作や設定で問題ありません。
・/etc/sysconfig/jenkins の設定
・nginx の設定
・jenkins ユーザのシェル環境
・GitHub との連携(デプロイキー)
まとめ
Jenkins の GPG キーのインストールと Java のバージョンについて紹介してきました。
weekly バージョンを使っている自分も悪いのですが、LTS バージョンでも java8 は切り捨てられる時代。
Jenkins が使えなくなると、デプロイ作業やバッチ処理などに影響が出てしまうプロジェクトも少なくないハズ。
ただ、CI 周りは GitHub Actions で事足りる時代になったので、Jenkins もそろそろ潮時なのかな。
って書いてたら、GitHub 側のサービスで障害が発生して使えないというオチ・・・。
参考(出典)
- Jenkins 2.543 and 2.541.1: New Linux Repository Signing Keys(Jenkins 公式ブログ)
- Java Support Policy(Jenkins 公式)
