gpg:签名失败:密钥不可用

gpg: signing failed: secret key not available

我在 maven 上托管了一个工件。我在本地 windows 机器上的设置运行良好; maven, gpg keys 命名。到目前为止,我可以做到 'mvn clean deploy' 并且我的工件非常成功地得到了签名和发布。

输入与托管在 ubuntu 服务器上的 jenkins 的持续集成。我通过 putty 在 ubuntu 上成功安装了 gpg。由于我已经在 maven 上拥有使用我的 gpg 密钥签名的工件版本,我应该继续使用它们吗?

因此,我使用 winscp 将 gnupg 文件夹及其所有内容传输到 ubuntu。确实当我运行gpg --list-keys的时候,可以看到我的密钥信息(我只配置了一个密钥)。我在想,这是我在ubuntu上配置成功的标志。

根据对的回答 我应该认为 ubuntu 上没有配置密钥。那么为什么 gpg --list-keys 会起作用呢??

当 jenkins 尝试部署工件时,“sign”目标失败并且 maven-gpg-plugin 报告:

gpg: no default secret key: secret key not available
gpg: signing failed: secret key not available

构建失败,我该如何解决这个问题?

我找到了解决办法。我唯一缺少的是我的特定 maven 项目的 settings.xml 文件。在构建我的项目时,我必须找出 Maven 从何处查找该文件(使用 mvn -X)。不知何故 Ubuntu 没有创建它,所以我不得不为自己创建一个并放入相关的 gpg 属性。在此之后,一切都变得轻而易举。