我尝试使用 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/