21

ベースの amazon ami linux を使用して Ec2 を使用しています。ジェンキンをインストールしましたが、github からリポジトリを取得しようとすると、次のエラーが表示されます。

Building in workspace /var/lib/jenkins/workspace/build social
Checkout:build social / /var/lib/jenkins/workspace/build social - hudson.remoting.LocalChannel@5c7b21b
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone git@github.com:adulion/.git
hudson.plugins.git.GitException: Could not clone git@github.com:adulion/.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:245)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1117)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1059)
    at hudson.FilePath.act(FilePath.java:832)
    at hudson.FilePath.act(FilePath.java:814)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1059)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:581)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:470)
    at hudson.model.Run.run(Run.java:1421)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin git@github.com:adulion/.git /var/lib/jenkins/workspace/build social" returned status code 128:
stdout: Cloning into /var/lib/jenkins/workspace/build social...

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

jenkins をインストールした現在のユーザーのキーを生成し、git コマンド ラインを使用してリポジトリのクローンを作成できましたが、jenkins ではできません。

~/.ssh ファイルを /var/lib/jenkins/.ssh にコピーしました

既知のホストに github を追加しましたが、試すソリューションが不足しています。誰が私が間違っているのか知っていますか? ジェンキンスが使用している公開鍵を表示する方法はありますか?正しいものを使用している場合はデバッグできますか?

プライベートリポジトリであるため、リポジトリの名前を削除しました

4

6 に答える 6

30

エラーは次のようです: ホスト キーの検証に失敗しました。

Jenkins ユーザーとして Jenkins ホストにログインし、次を実行する必要があります。

ssh git@github.com

次に、ホスト キーに関するプロンプトに対して yes と答えます。これは一度だけ行う必要があります。

または、「StrictHostKeyChecking no」を ~jenkins/.ssh/config に追加することもできます。

于 2012-04-19T22:08:06.897 に答える
5

彼は私を助けてくれました:

Jenkinsでログイン

sudo su jenkins

githubキーをJenkins.sshフォルダーにコピーします

cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/

キーに名前を付ける

mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub
于 2012-07-09T12:31:04.193 に答える
5

複数の github リポジトリをチェックアウトするために単一のジェンキンス マシンを使用していますが、セットアップ時に同様の問題がありました。私がやったのは、ジェンキンのSSH構成ファイルを構成して、SSHが各リポジトリに関連付けるIDファイルを自動的に認識できるようにすることでした。

/var/lib/jenkins/.ssh/config:

Host github-ABC
  HostName github.com
  User git
  IdentityFile /var/lib/jenkins/.ssh/id_rsa_ABC

ソース コード管理下の Jenkins プロジェクト構成では、これをリポジトリ名として使用しました。

git@github-ABC:user/repo.git

最後に、SSH 公開キーを github リポジトリのデプロイ キーとして使用します。

于 2012-04-19T09:03:44.223 に答える
2

ジェンキンとしてログインすると、次のことができます

ssh -i ~/.ssh/id_rsa git@github.com

~/.ssh/id_rsa は path/to/your/ssh/key であり、パスワードの入力を求められ、known_hosts ファイルに追加されます

于 2013-09-12T22:35:12.080 に答える