私はJenkinsをGitHubがホストするリポジトリで起動して実行しようとしています(Jenkins Gitプラグインを使用)。リポジトリには複数のgitサブモジュールがあるため、複数のデプロイキーを試して管理したいかどうかはわかりません。
私の個人的なGitHubユーザーアカウントは、Jenkinsと連携する各プロジェクトの共同作業者であるため、/var/lib/jenkins/.ssh
内でSSHキーを生成し、個人的なGitHubアカウントに追加しました。
ただし、リポジトリURLをJenkinsプロジェクト構成に追加しようとすると、次のようになります。
Failed to connect to repository : Command "git ls-remote -h [email protected]:***/***.git HEAD" returned status code 128:
stdout:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
同様に、ビルドをスケジュールすると、次の結果が得られます。
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
here に概説されているようにSSH構成ファイルをセットアップしようとしましたが、役に立ちませんでした。
誰もが光を当てることができますか?ありがとう
編集
CentOS 5.8を実行していることを追加する必要があります
Jenkinsが接続しようとするgithub.com
ホストは、Jenkinsユーザーの$HOME/.ssh/known_hosts
の下にリストされていないようです。 Jenkinsはほとんどのディストリビューションでユーザーjenkins
として実行されるため、公開キーと.ssh
のリストを格納する独自のknown_hosts
ディレクトリを持っています。
この問題を解決するために考えられる最も簡単な解決策は次のとおりです。
# Login as the jenkins user and specify Shell explicity,
# since the default Shell is /bin/false for most
# jenkins installations.
Sudo su jenkins -s /bin/bash
cd SOME_TMP_DIR
# git clone YOUR_GITHUB_URL
# Allow adding the SSH Host key to your known_hosts
# Exit from su
exit
Jenkinsユーザーとしてログインしようとしましたか?
これを試して:
Sudo -i -u jenkins #For RedHat you might have to do 'su' instead.
git clone [email protected]:your/repo.git
ホストが追加または承認されていない場合(多くの場合、github/bitbucketへの最初の接続ではhudson/jenkinsとして手動でログインします)に失敗しますが、含まれているリンクはおそらくそれを修正します。
上記がうまくいかない場合は、キーを再コピーしてください。 pubキー(id_rsa.pubなど)であることを確認してください。多分あなたはいくつかのキャラクターを見逃しましたか?
/ Jenkins/.ssh /に設定と秘密鍵ファイルがある場合、これは私にとってはうまくいきますchown (所有者の変更)これら2つのファイルに対してrestart jenkinsを使用して、jenkinsインスタンスがこれら2つのファイルを読み取るようにします。