maven - 特拉维斯 : gpg: signing failed: secret key not available

标签 maven travis-ci gnupg openpgp

我尝试使用 travis ci 将我的开源项目部署到 Nexus 存储库 ( https://oss.sonatype.org ),但不幸的是,travis 没有找到 gpg 签名步骤的 key 。

我按照 https://github.com/making/travis-ci-maven-deploy-skelton 上的所有步骤操作但发布部署连续不起作用。在我的工作区,一切正常,我可以将发布部署到 Nexus 存储库。

我正在使用一个脚本来部署项目:

#!/usr/bin/env bash
echo "Checking the current branch..."
if [ "$TRAVIS_BRANCH" = 'master' ] && [ "$TRAVIS_PULL_REQUEST" == 'false' ]; then
   echo "The current branch is: master"
   echo "Run maven deploy parameter using sign and build-extras profiles..."
   mvn deploy -P sign,build-extras --settings setting-maven.xml
fi

最佳答案

如果服务在开发者帐户以外的其他用户下运行,则通常会出现此类问题。 GnuPG 在 ~/.gnupg 中有每个用户的“GnuPG 主目录”。确保在服务用户下导入 key (从您的开发者帐户运行此命令):

gpg --export-secret-keys [key-id] | sudo -u [service user] gpg --import

或者,您可以使用 gpg--homedir 选项更改到 GnuPG 主目录位置,但请注意 GnuPG 对正确设置、严格权限非常挑剔默认情况下(这是一件好事)。

关于maven - 特拉维斯 : gpg: signing failed: secret key not available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38276762/

相关文章:

java - 将参数传递给注解处理器

使用工作区元数据的 Eclipse 服务器位置,无法更改为安装

java - SLF4J:加载类 "org.slf4j.impl.StaticLoggerBinder"失败。在一个 Maven 项目中

gradle - 缓存 gradle 依赖项,Travis CI

maven - 尝试在 settings.xml 中加密 gpg 密码

git - Git-encrypt 中的错误加密实践?

java - 如何通过 maven 从下载的 zip(解压)文件向项目添加依赖项

datetime - 如何解析travis_time :start into normal datestamp?

ruby-on-rails-4 - 使用 Rails 4 和 selenium 网络驱动程序,在 Travis CI 上使用 Sauce Labs 但不是在本地

c# - GnuPG 加密不适用于进程错误代码 2