# Jenkins 构建过程中提示 GPG 错误

**URL:** <https://www.isharkfly.com/t/jenkins-gpg/14287>\
**Category:** DevOps\
**Tags:** jenkins\
**Created:** [January 9, 2023, 2:07pm UTC](https://www.isharkfly.com/t/jenkins-gpg/14287 "2023-01-09T14:07:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [January 9, 2023, 2:07pm UTC](https://www.isharkfly.com/t/jenkins-gpg/14287/1 "2023-01-09T14:07:12Z")

</div>

错误信息如下：

```auto
[INFO] --- maven-gpg-plugin:3.0.1:sign (sign-artifacts) @ rets-io ---
gpg: no default secret key: No secret key
gpg: signing failed: No secret key

```

![2023-01-09_09-07-18](https://www.isharkfly.com/images/transparent.png)

这个问题的原因应该是我们最近把我们的项目发布到中央 Maven 仓库中，但是发布项目到中央仓库中需要 GPG 的签名。

我们 Jenkins 环境上没有安装 GPG 的签名。

因此我们需要把这个签名先进行安装。

安装签名的方面，请参考：[将 GPG 安装到 REHL](https://www.isharkfly.com/t/gpg-rehl/14288) 页面中的内容。

## 安装 GPG 后还是提示上面的错误

我们遇到了安装成功后还是提示上面的错误。

这个原因是我们的 Jenkins 是按照在 Jenkins 的用户名下面的。

但是为了运行 GPG，我们用了 Root 账号，所以生成的 `.gnupg` 文件是在 root 文件夹下面的。

在服务器上，用 Jenkins 用户运行：

```auto
gpg --list-secret-keys

```

如果看不到任何输出的话，则说明 Key 是没有办法被 Jenkins 用户访问到的。

可以采用的办法是拷贝 root 下面生成的 .gnupg 文件夹到 Jenkins 目录下。

我们的拷贝路径是拷贝到 ` /var/lib/jenkins` 这个文件夹下。

然后再次确定有输出，再次尝试重新构建，通常能够正常解决问题。
