web-dev-qa-db-ja.com

Jenkinsはgithubでステータスコード128を返しました

githubコマンドで私が持っています

ssh -T [email protected]
Hi (MyName)! You've successfully authenticated, but GitHub does not provide Shell access.

githubとの私の接続は問題ありませんが、ジェンキンスではこのエラーが発生します

ERROR: Error cloning remote repo 'Origin' : Could not clone [email protected]:Name-MysRepo/MyRepo.git
hudson.plugins.git.GitException: Could not clone [email protected]:Name-MysRepo/MyRepo.git
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.Java:219)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.Java:1001)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.Java:942)
    at hudson.FilePath.act(FilePath.Java:904)
    at hudson.FilePath.act(FilePath.Java:877)
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.Java:942)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.Java:1101)
    at hudson.model.AbstractProject.checkout(AbstractProject.Java:1369)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.Java:676)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.Java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.Java:581)
    at hudson.model.Run.execute(Run.Java:1575)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.Java:477)
    at hudson.model.ResourceController.execute(ResourceController.Java:88)
    at hudson.model.Executor.run(Executor.Java:241)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o Origin [email protected]:Name-MysRepo/MyRepo.git /root/.jenkins/jobs/TestKRGDAOV01/workspace" returned status code 128:
stdout: Cloning into '/root/.jenkins/jobs/TestKRGDAOV01/workspace'...

stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly

tomcat7/ubuntu 12の下でjenkinsを使用するpublickeyのこの問題はなぜ助けてください

57
nizar ouerghi

このエラー:

stderr:許可が拒否されました(公開鍵)。致命的:リモートエンドが予期せずハングアップしました

jenkinsが間違ったsshキーでgithubに接続しようとしていることを示します。

あなたがすべき:

  1. たとえば、jenkinsを実行するユーザーを決定します。 「ビルド」または「ジェンキンス」
  2. クローンを作成しようとしているjenkinsホストにログインします。つまり、ノードが実際にビルドを実行している場合は、マスターにログインしないでください。
  3. Sshをgithubに試してください-失敗した場合は、適切なキーを/.sshに追加する必要があります
46
imdibiji

確認するには、次のとおりです。

  1. 正しい公開キー(id_rsa.pub)がgit-serverにアップロードされている場合。
  2. 正しい秘密鍵(id_rsa)が/var/lib/jenkins/.ssh/にコピーされた場合
  3. known_hostsファイルが〜/ .sshフォルダー内に作成されている場合。 ssh -vvv [email protected]を試して、デバッグログを確認します。問題がなければ、github.comがknown_hostsに追加されます。
  4. id_rsaの許可が700(chmod 700 id_rsa)に設定されている場合

すべてのチェックの後、ssh -vvv [email protected]を試してください。

12
Tim Long

また、httpsではなくssh github urlを使用していることを確認してください

4
Roberto

私の場合、(Bitbucketで)リポジトリに公開キーを追加し、sshでgit cloneを1回使用して、最初に「既知のホスト」の質問にyesと答えなければなりませんでした。

4
etunko

しばらく前に同じ問題がありました。 sshキーにパスワードがなく、一般的なユーザーアカウントを使用していないことを確認してください(たとえば、jenkinsなどと呼ばれるユーザーアカウントよりも優れています)。

次の記事を確認してください http://fourkitchens.com/blog/2011/09/20/trigger-jenkins-builds-pushing-github

2
olexii

.ssh/id_rsa(秘密鍵)の許可を604に変更しました。chmod 700 id_rsa

0

プロジェクト(ルートフォルダー)を削除し、再度作成しました。私の場合、これは最速かつ最も簡単な方法でした。

プロジェクトを削除する前に、変更をすべて保存することを忘れないでください!

0
Mikhail Grunko