4

Git リポジトリからプロジェクトをビルドするジョブを設定しようとすると、次のエラーが表示されます。

Failed to connect to repository : Command "git ls-remote -h ssh://git@ssh://git@host.com/path/to/repos.git HEAD" returned status code 128:
stdout: 
stderr: Permission denied (publickey). 
fatal: The remote end hung up unexpectedly

Jenkins に、SSH Agent プラグインと Git プラグインをインストールしました。

次のようにビルドステップを追加できます。

git ls-remote -h ssh://git@host.com/path/to/repos.git HEAD

ビルドを実行すると、うまくいきます!

これは、すべてが適切にセットアップされていることを示しています。

  • キーとキーの場所。
  • Jenkins/Manage Jenkins/Manage Plugins -> SSH エージェント プラグインと Git プラグイン。
  • Jenkins/Manage Jenkins/Manage Credentials のエントリは正しいです。

これはソース コード管理では機能しないようですが、ビルド前/ビルド/ビルド後の操作では機能します。

ビルド プロセスの前に Ssh エージェントがアクティブ化されないという問題はありますか?

助けていただける方、よろしくお願いします。

4

1 に答える 1

2

「ビルド プロセスの前に SSH エージェントがアクティブ化されていないという問題はありますか?」-はい、それは迷惑です。

将来、SSHエージェントがgitやその他のプラグインを正しくラップするようにすることを計画しているという私のハンティングの「どこか」を読みました。

SSH エージェントのセットアップで単純なシェル コマンドを実行すると、ビルドのコンソール出力でシェル コマンドの前後に開始と停止が明確に表示されます。これは、git の詳細が入力されている場合には発生しません。

今のところ説明されているように、ビルド手順を引き続き使用してください...

于 2013-04-19T15:36:24.970 に答える