1

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

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

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

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

在此处输入图像描述

然后,我发布了密钥并且没有收到任何错误消息(所以我认为它运行良好):

在此处输入图像描述

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

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

在此处输入图像描述

我还能尝试什么来检查我的更新密钥是否正确发布,并且 Travis-ci 得到它?

4

1 回答 1

0

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

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

  • 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

在签署工件之前,我得到了确认我的密钥已更新

于 2020-08-19T15:47:27.413 回答