我正在编写一个使用 cmake 的库。我已经设置了构建以添加一个make
构建 Debian 源包的目标,然后我可以将其上传到 Launchpaddput
以创建一个 Ubuntu PPA。此过程的一部分是使用我的gpg
密钥对包进行签名。当我make
在登录到正常的 X 会话时运行此目标时,它会弹出一个框,要求我输入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
并询问我的密码。詹金斯将如何处理。我想输入一次密码并记住它。