私はベースAmazon AMI linuxのEc2を使用しています-jenkinsをインストールしましたが、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 [email protected]:adulion/.git
hudson.plugins.git.GitException: Could not clone [email protected]: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 [email protected]: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を追加しましたが、試行するソリューションが不足しています。誰が私がどこで間違っているのか知っていますか?ジェンキンスが使用している公開鍵を表示する方法はありますか?正しいものを使用している場合はデバッグできますか?
プライベートリポジトリであるため、リポジトリの名前を削除しました
エラーは次のようです:ホストキーの検証に失敗しました。
JenkinsユーザーとしてJenkinsホストにログインし、次を実行する必要があります。
ssh [email protected]
次に、ホストキーについてプロンプトに対してyesと答えます。これは一度だけ行う必要があります。
または、〜jenkins/.ssh/configに「StrictHostKeyChecking no」を追加することもできます。
単一のjenkinsマシンを使用して複数のgithubリポジトリをチェックアウトしていますが、設定時に同様の問題がありました。最終的に、Jenkinsの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リポジトリのデプロイ鍵として使用します。
彼は次のことを助けてくれました:
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
1)ユーザーをjenkinsアカウントに切り替えます
su jenkins
2)パスフレーズなしでキーを作成する
3)ssh [email protected]
それは私には完璧に働きました。
Jenkinsアカウントのパスワードを作成する必要がある場合があります。その場合はSudo passwd jenkins
を使用してください
ジェンキンスとしてログインすると、次のことができます
ssh -i〜/ .ssh/id_rsa [email protected]
ここで〜/ .ssh/id_rsaはパス/ to/your/ssh/keyであり、パスワードの入力を求め、known_hostsファイルに追加します