我尝试使用travis ci将开源项目部署到Nexus Repository(https://oss.sonatype.org),但是不幸的是travis找不到gpg签名步骤的秘密密钥。

我执行了https://github.com/making/travis-ci-maven-deploy-skelton上的所有步骤,但是连续发布版本无法正常工作。在我的工作区中,所有工具都可以正常工作,并且可以将发行版部署到Nexus Repository。

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

#!/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主目录”。确保将密钥导入服务的用户下(从您的开发者帐户运行此命令):

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

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

关于maven - Travis:gpg:签名失败: key 不可用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38276762/

10-10 10:40