2

ローカルの git リポジトリを使用して jenkins ビルドを実行できますが、パスフレーズなしの ssh キーを使用する必要があります。パスフレーズがあると、ビルドで権限の問題が発生し始めます。

パスフレーズを使用するようにジェンキンを設定するにはどうすればよいですか?

-- 私も ssh は初めてです。ジェンキンを(ubuntuで)構成した方法は次のとおりです。

su jenkins
ssh-keygen ....
cat key.pub

su user_with_github_repo
cd ~/.ssh/
append jenkins key.pub to authorized_keys
4

1 に答える 1

8

あなたが抱えている問題は、sshがインタラクティブにパスフレーズを要求するという事実が原因である可能性があります。スクリプトに非対話的にパスフレーズを入力しようとしないことをお勧めします。これは、セキュリティの面でほとんど追加されないように思われるためです。

代わりに、ssh-agentとssh-addを使用して、キーのロックを解除し、メモリに保持することができます。ssh-addは、デーモンプロセスであるssh-agentにキーを追加します。サーバーの起動時にキーのロックを解除すると、Jenkinsはメモリに保存されているキーを使用して認証できるようになります。

これを行うには、サーバーの起動時にssh-agentを実行し、その出力(SSH_AUTH_SOCKとSSH_AGENT_PIDの2つのエクスポート)をファイルにキャプチャします。jenkinsユーザーとして実行する必要があります。ssh-addを使用してキーのロックを解除します。次に、たとえばJenkinsビルドスクリプトで、そのキーを使用して承認する場合は常に出力ファイルをソースします。出来上がり!

于 2012-06-11T12:37:19.413 に答える