Jenkins 项目的 gpg: signing failed: Bad passphrase 错误
因为我们项目需要使用 Jenkins 对文件进行签名。
但是我们遇到了
gpg: signing failed: Bad passphrase
错误。
原因和解决
通常这个问题的原因是 Key 已经配置成功并且已经被命令行找到了。
主要原因是你的秘钥密码配置的问题。
这个配置有 2 个地方,第一个地方是项目的 Pom.xml 文件。
Pom.xml
在 Pom.xml 文件中,我们可以配置 passphraseServerId 这个参数。
这个参数将会告诉 maven 到 settings.xml 文件夹中找密码。
settings.xml
这个文件中,有 2 个地方需要配置。
第一个地方为在 servers tag 中添加一个:
<server>
<id>ossez</id>
<passphrase>**********</passphrase>
</server>
在这里输入你在创建秘钥的时候输入的密码。
另外一个地方就是 profile 部分。
在这里要需要在属性 tag 中添加:
<gpg.executable>gpg</gpg.executable>
<gpg.keyname>9546E435CF91D08895437D0C**************</gpg.keyname>
gpg.keyname 为你创建的 key 的 UID
如果你不知道你的 Key UID 是多少的话。
在你创建 key 的机器上,运行
gpg --list-secret-keys
输出的 16 进制字符串就是你需要的 UID。
完成上面 2 个配置后就可以完成文件签名了。
https://www.ossez.com/t/jenkins-gpg-signing-failed-bad-passphrase/14289