1

私はcmakeを使用するライブラリを書いています。ビルドを設定して、Debianソースパッケージをビルドするターゲットを追加します。このmakeターゲットをLaunchpadにアップロードして、UbuntuPPAdputを作成できます。gpgこのプロセスの一部は、私のキーを使用してパッケージに署名することです。通常のXセッションにログインしているときにこのターゲットを実行すると、パスフレーズmakeの入力を求めるボックスがポップアップ表示されます。gpg

Jenkinsにこれを自動的に実行させて、毎日のスナップショットビルドをアップロードしたいと思います。問題は、Jenkinsにパッケージに自動的に署名させる方法です。私は同様の質問を見たことがありますが、彼らは私が探しているものに実際に答えることはありませんでした。

私はこれを処理するために走る必要があると思いgpg-agentますが、これが私が理解していないことです:

1.)Jenkinsはjenkinsユーザーの下で実行されます。gpg-agentこのユーザーのために実行するにはどうすればよいですか。これはeval $(gpg-agent --daemon)シェルスクリプトのスタートアップファイルに入れることができますが、Jenkinsからは入手できません。

gpg-agent2.)パスフレーズをどのように認識しますか。jenkinsでユーザーにログインすると、ファイルの復号化にsudo su - jenkins使用できgpgますが、ポップアップが表示さpinentry-cursesれ、パスフレーズを要求されます。これはJenkinsからどのように処理されますか。パスフレーズを一度入力して覚えてもらいたいのですが。

4

1 に答える 1

0

1) への絶対パスを使用できますgpg-agentか? 多分私はあなたを正しく理解していません..

2) --passphrase-fd 0gpg への引数として使用する必要があります (そのように: echo password | gpg --passphrase-fd 0 --decrypt / --encrypt)。詳細はこちら

于 2012-11-23T13:57:06.943 に答える