我在maven上托管了一个工件。我在本地Windows机器上的设置一直运行良好; maven, gpg keys
命名它。到目前为止,我可以做'mvn clean deploy'
,我的工件得到了很好的签名和发布。
输入与ubuntu服务器上托管的jenkins的持续集成。我通过putty在ubuntu上成功安装了gpg。由于我已经使用我的gpg密钥签名maven上的工件版本,我应该继续正确使用它们了吗?
所以,我使用winscp将gnupg文件夹及其所有内容传输到ubuntu。实际上,当我运行gpg --list-keys
时,我可以看到我的关键信息(我只配置了一个密钥)。我想,这是我在ubuntu上的配置成功的标志。
根据答案
this question我应该认为ubuntu上没有配置密钥。那么为什么gpg --list-keys
会起作用?
当jenkins尝试部署工件时,“sign
”目标失败,maven-gpg-plugin
报告此情况:
gpg: no default secret key: secret key not available
gpg: signing failed: secret key not available
并且构建失败,我该如何解决此问题?
答案 0 :(得分:1)
我找到了解决方案。我唯一缺少的是我的特定onFinish( )
项目的AsyncTask
文件。在构建项目时,我必须找出maven在哪里查找此文件(usin settings.xml
)。不知怎的,Ubuntu没有创建它,所以我不得不为自己创建一个并放入相关的maven
属性。在此之后,一切都变得轻而易举。