私はcmakeを使用するライブラリを書いています。ビルドを設定して、Debianソースパッケージをビルドするターゲットを追加します。このmake
ターゲットをLaunchpadにアップロードして、UbuntuPPAdput
を作成できます。gpg
このプロセスの一部は、私のキーを使用してパッケージに署名することです。通常のXセッションにログインしているときにこのターゲットを実行すると、パスフレーズmake
の入力を求めるボックスがポップアップ表示されます。gpg
Jenkinsにこれを自動的に実行させて、毎日のスナップショットビルドをアップロードしたいと思います。問題は、Jenkinsにパッケージに自動的に署名させる方法です。私は同様の質問を見たことがありますが、彼らは私が探しているものに実際に答えることはありませんでした。
私はこれを処理するために走る必要があると思いgpg-agent
ますが、これが私が理解していないことです:
1.)Jenkinsはjenkins
ユーザーの下で実行されます。gpg-agent
このユーザーのために実行するにはどうすればよいですか。これはeval $(gpg-agent --daemon)
シェルスクリプトのスタートアップファイルに入れることができますが、Jenkinsからは入手できません。
gpg-agent
2.)パスフレーズをどのように認識しますか。jenkins
でユーザーにログインすると、ファイルの復号化にsudo su - jenkins
使用できgpg
ますが、ポップアップが表示さpinentry-curses
れ、パスフレーズを要求されます。これはJenkinsからどのように処理されますか。パスフレーズを一度入力して覚えてもらいたいのですが。