从Jenkins自动签署构建工件

时间:2012-11-23 04:19:24

标签: jenkins gnupg

我正在编写一个使用cmake的库。我已经设置了构建以添加make目标来构建Debian源包,然后我可以使用dput上传到Launchpad以创建Ubuntu PPA。此过程的一部分是使用我的gpg密钥对包进行签名。当我在登录普通X会话时运行此make目标时,会弹出一个框,询问我gpg密码短语。

我想让Jenkins自动执行此操作以上传每日快照构建。问题是如何让Jenkins自动签署包。我见过类似的问题,但他们从未真正回答过我正在寻找的问题。

我假设我需要运行gpg-agent来处理这个问题,但以下是我不理解的事情:

1。)Jenkins在jenkins用户下运行。如何为此用户运行gpg-agent。我已经看到eval $(gpg-agent --daemon)可以放在一个shell脚本启动文件中,但这不会被Jenkins采购。

2.。)如何让gpg-agent知道我的密码。如果我使用jenkins登录sudo su - jenkins用户,我可以使用gpg解密文件,但会弹出pinentry-curses并询问我的密码。怎么会从詹金斯处理。我想输入一次密码并记住它。

1 个答案:

答案 0 :(得分:0)

1)你能使用gpg-agent的绝对路径吗?也许我没跟你说对..

2)你应该使用--passphrase-fd 0作为gpg的参数(就像那样:echo password | gpg --passphrase-fd 0 --decrypt / --encrypt)。更多信息here