👏
sbt-ci-releaseでGPGの有効期限が切れたときにしたこと
sbt-jig なる sbtプラグインを出しているのですが…
ある時から Sonatype への publish に失敗するようになった。
なんでーって調べてたら、どうやら、 GPG で署名する際の鍵の有効期限が切れていたみたい。
なるほどーってことで、有効期限を延ばすというより、新しく鍵を生成して、サーバーに登録してやるとよさそうだねってことなので、その手順をメモっておく。
とはいえ、 sbt/sbt-ci-release の README に書いてあることをなぞるといいんだけど、思い出せる自信がないので…
README の GPG を実施するといい。
gpg --gen-key
- 名前とかメールアドレスとか聞かれるから入力しよう
- 私は、このあたりの入力情報を 1password に保存しているぞ
- パスフレーズを求められるので入力しよう
- このパスフレーズは後で Github の環境変数に保存して
PGP_PASSPHRASE
として使うから忘れずに 1password で生成したやつを使うぞ
- このパスフレーズは後で Github の環境変数に保存して
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_PASSPHRASE
と PGP_SECRET
を更新しただけでいけた。
また、有効期限が切れたときに、ここに辿りつければ、すんなり解消できるだろう
Discussion