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

egi*_*ben 5 java ubuntu gnupg maven jenkins

我在 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
Run Code Online (Sandbox Code Playgroud)

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

egi*_*ben 2

我已经找到了解决方案。我唯一缺少的是settings.xml我的特定maven项目的文件。我必须找出 maven 在构建我的项目时从哪里查找这个文件(使用mvn -X)。不知何故,Ubuntu 没有创建它,所以我必须自己创建一个并添加相关gpg属性。此后,一切都变得轻而易举。