👏

sbt-ci-releaseでGPGの有効期限が切れたときにしたこと

2024/05/08に公開

sbt-jig なる sbtプラグインを出しているのですが…

ある時から Sonatype への publish に失敗するようになった。

なんでーって調べてたら、どうやら、 GPG で署名する際の鍵の有効期限が切れていたみたい。

なるほどーってことで、有効期限を延ばすというより、新しく鍵を生成して、サーバーに登録してやるとよさそうだねってことなので、その手順をメモっておく。

とはいえ、 sbt/sbt-ci-release の README に書いてあることをなぞるといいんだけど、思い出せる自信がないので…

README の GPG を実施するといい。

gpg --gen-key
  • 名前とかメールアドレスとか聞かれるから入力しよう
    • 私は、このあたりの入力情報を 1password に保存しているぞ
  • パスフレーズを求められるので入力しよう
    • このパスフレーズは後で Github の環境変数に保存して PGP_PASSPHRASE として使うから忘れずに 1password で生成したやつを使うぞ
pub   rsa2048 2018-06-10 [SC] [expires: 2020-06-09]
      $LONG_ID
      uid                      $PROJECT_NAME bot <$EMAIL>
  • LONG_ID は、 Open PGP keyserver に登録できているか確認するときにも使えるので、これも、 1passwordに保存しておくといいぞ。

その後、 keyserver に Public Key を登録するんだけど、ブラウザで作業してもいいし、

gpg --keyserver keyserver.ubuntu.com --send-keys $LONG_ID

を実行してもいいぞ。

最後に、 Secret Key を Github の環境変数に保存する。これも、 1password に保存しておこうね。

まとめると、今回、 Public Key を keyserver に登録したあと、 Github の PGP_PASSPHRASEPGP_SECRET を更新しただけでいけた。

また、有効期限が切れたときに、ここに辿りつければ、すんなり解消できるだろう

GitHubで編集を提案

Discussion