似乎无法为 Travis-CI 发布我更新的 pgp 密钥来获取它

can't seem to publish my updated pgp key for Travis-CI to pick it up

多年来,我使用 Travis-CI 为我的项目向 Maven Central 发布了一些版本。上次发布是2个月前,我照常进行。

但是今天,出于某种原因,我收到了这个错误,而我没有更改我的设置中的任何内容:

"gpg: no default secret key: unusable secret key"

经过一些研究,我意识到我的密钥已过期..所以我发现很少有资源解释如何更新到期日期。我跟踪并将日期推迟了 2 年,现在在我的机器上,当我列出密钥时我有这个,所以它看起来不错 :

然后,我发布密钥并且没有收到任何错误消息(所以我认为一切顺利):

最后,我再次触发失败的 travis-ci 构建,但我仍然遇到同样的错误。

我在实际部署之前添加了一些命令以获取更多信息 - 事实上,我的密钥仍然被视为已过期:

还有什么我可以尝试检查我更新的密钥是否正确发布,以及 Travis-ci 得到它?

有一件事帮助我调查:我们可以通过一个基本的 Web 界面在服务器上检查我们的密钥,在 http://pool.sks-keyservers.net - 它确认我的密钥没有在那里更新。

我尝试了更多的命令来根据我在这里和那里找到的内容发送我的密钥:

  • gpg -v --keyserver hkp://pool.sks-keyservers.net --send-key MY_KEY
  • gpg -v --keyserver hkp://hkps.pool.sks-keyservers.net --send-key MY_KEY
  • gpg -v --keyserver hkps://hkps.pool.sks-keyservers.net --send-key MY_KEY

其中之一一定有所作为,因为我现在看到了更新的到期日期,尽管原来的到期日期仍然存在。

最后,我将 travis-ci 文件更新为 运行 这两个命令:

gpg -v --keyserver hkp://p80.pool.sks-keyservers.net:80 --refresh-keys
gpg -v --list-keys

并且我在签署工件之前确认我的密钥已更新