1

Jenkins ジョブでリポジトリ パス "ssh://Administrator@WS-GIT/GitCentralRepository/Development" を指定すると、このエラーが発生します。

"Failed to connect to repository : Command "ls-remote -h ssh://Administrator@WS-GIT/GitCentralRepository/Development HEAD" returned status code 128:
stdout:
stderr: FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey,keyboard-interactive)
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists."

この同じリポジトリ パスを指定すると、GITExtensions クライアントからこのプロジェクトを複製できます。Windows 7 で Windows サービスとして Jenkins を実行しています。助けてください

4

1 に答える 1

0

基本的に同じ問題を抱えているこのページに到達しました.jenkinsホストのユーザーで「git ls-remote」を正常に実行できましたが、Jenkins資格情報プラグインからは使用できませんでした.

私が間違って設定したのはばかげたことでした.資格情報プラグインは公開鍵ではなく秘密鍵を必要としていました.

私の Jenkins と gerrit サーバーは Linux を使用していますが、この問題に違いはありません。

誰かが同様の問題でこのページに到達した場合に備えて。私のシナリオは、特定のレポを gerrit から Jenkins に複製するために非対話型ユーザー(passw なし)を構成したいというものでした。

それがあなたの場合であれば、それを確認してください

1) jenkins で非対話型グループを作成し、非対話型ユーザー、つまりユーザー jenkins を追加します。最初に ssh キーを生成します (空のパスを提供します)。

ssh-keygen-t rsa

次に、gerrit でユーザーを作成し、それを非対話型ユーザー グループに追加します。

猫 ~jenkis/.ssh/id_rsa.pub | ssh -p 29418 your.gerrit.instance.com gerrit create-account --group "'非対話型ユーザー'" --ssh-key - ジェンキンス

2) 複製しようとしているプロジェクトに、非インタラクティブ グループに読み取りアクセス権が付与されていることを確認します (gerrit webUI で実行できます)。

注: 偶然に gerrit データベースで直接 ssh キーを変更した場合 (私がこの問題のトラブルシューティングを試みたように)、gerrit ssh キャッシュをフラッシュする必要があります。

ssh -p 29418 review.example.com gerrit フラッシュ キャッシュ --cache sshkeys

3) 手順 2 で生成された秘密鍵 (.ssh/id_rsa) の内容を Jenkins 資格情報プラグインに提供していることを確認します。

4) Jenkins ジョブで、次のような URL を使用します。

ssh://jenkins@your.gerrit.instance.com:29418/yourRepoName

これが他の誰かを助けることを願っています

フェデ

この投稿をチェックしてくださいhttp://toastedbits.com/post/26#integrationも役立つかもしれません

于 2014-01-22T06:15:02.083 に答える