web-dev-qa-db-ja.com

gitHubからのクローン中にJenkinsがエラーを出す

Jenkinsが初めてで、GitHubからリポジトリをクローンしているときに次のエラーが発生します。

ここで関連するすべての問題を検索しようとしましたが、正確なstacktstraceを見つけることができました。

ユーザー名とパスワードが必要なリポジトリのクローンを作成しようとしています。SSH://ジョブのジョブ構成設定のrepository-path。これはGITリポジトリのセキュリティ問題とは異なる問題のように見えるため、まだ.ssh関連の設定を行っていません。

Jenkinsがどのコメントを実行しようとしているか、どのファイル/ディレクトリが見当たらないかはわかりませんでした。

Jenkinsジョブからの正確なスタックトレースは次のとおりです

原因:Java.io.IOException:プログラムを実行できません:gitバージョンの判別中にエラーが発生しました:コマンド実行中のエラー:--version想定1.6エラー:リモートリポジトリ 'myRE'のクローン作成エラー:[email protected]:myORGをクローンできませんでした/RVL.myProj.git hudson.plugins.git.GitException:hudsonのhudson.plugins.git.GitAPI.clone(GitAPI.Java:268)で[email protected]:myORG/RVL.myProj.gitを複製できませんでした。 plugins.git.GitSCM $ 2.invoke(GitSCM.Java:1122)at hudson.plugins.git.GitSCM $ 2.invoke(GitSCM.Java:1064)at hudson.FilePath.act(FilePath.Java:842)at hudson.FilePath .act(FilePath.Java:824)at hudson.plugins.git.GitSCM.checkout(GitSCM.Java:1064)at hudson.model.AbstractProject.checkout(AbstractProject.Java:1256)at hudson.model.AbstractBuild $ AbstractBuildExecution。 defaultcheckout(AbstractBuild.Java:589)at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.Java:88)at hudson.model.AbstractBuild $ AbstractBuildExecution.run(AbstractBuild.Java:494)at hudson.model.Run.execute(Run .Java:1502)at hudson.maven .MavenModuleSetBuild.run(MavenModuleSetBuild.Java:477)at hudson.model.ResourceController.execute(ResourceController.Java:88)at hudson.model.Executor.run(Executor.Java:236)原因:hudson.plugins.git。 GitException:コマンド実行エラー:clone -o RVL.myProj [email protected]:myORG/RVL.myProj.git/var/lib/jenkins/jobs/myProj/workspace at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI。 Java:862)at hudson.plugins.git.GitAPI.access $ 000(GitAPI.Java:40)at hudson.plugins.git.GitAPI $ 1.invoke(GitAPI.Java:264)at hudson.plugins.git.GitAPI $ 1 invoke(GitAPI.Java:244)at hudson.FilePath.act(FilePath.Java:842)at hudson.FilePath.act(FilePath.Java:824)at hudson.plugins.git.GitAPI.clone(GitAPI.Java:244) )... 13その他原因:Java.io.IOException:プログラム ""を実行できません:エラー= 2、Java.lang.ProcessBuilder.start(Unknown Source)にそのようなファイルまたはディレクトリはありませんhudson.Proc $ LocalProc。(Proc.Java:244)at hudson.Proc $ LocalProc。(Proc.Java:216)at hudson.Launcher $ LocalLauncher.launch(Launcher.Java:70 9)hudson.Launcher $ ProcStarter.start(Launcher.Java:338)at hudson.Launcher $ ProcStarter.join(Launcher.Java:345)at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.Java:843) .. 19その他原因:Java.io.IOException:error = 2、Java.lang.UNIXProcess.forkAndExec(Native Method)にJava.lang.UNIXProcess。(Unknown Source)にJava.langにそのようなファイルまたはディレクトリがありません。プロ

27
Sagar

私は同じ問題に遭遇し、修正しました:)

Gitのパスを設定するには2つの方法があります。

  1. ジェンキンスマスターについて

    a。 Jenkins System Configureを入力します(Jenkins-> Manage Jenkins-> Configure System)

    b。 Gitアイテムを見つけてgitインストールを構成します(Jenkins Masterでgitパスを指定します)

  2. ジェンキンススレーブ

    a。 Jenkins SlaveのConfigureに入る

    b。 [ツールの場所]チェックボックスをオンにして、Jenkinsスレーブのgitのパスを指定します。

私の状況では、ジェンキンスマスターにアクセスする権限がありません。そこで、GitをJenkins Slaveにインストールし、Jenkins SlaveのConfigureに追加します。

51
superlee

これはバグのようです。 JENKINS-1652 で回避策を投稿したところをご覧ください。

3
Martin

私は同じ問題を経験しました。

個々のジョブ「/var/lib/jenkins/jobs/job_name/config.xml」にgit設定が混在していることに気付きました。

[[email protected] jobs]# find . -maxdepth 2 -name     config.xml|xargs grep '<gitTool>'
./job1/config.xml:    <gitTool>git</gitTool>
./job2/config.xml:    <gitTool>Default</gitTool>
./job3/config.xml:    <gitTool>git</gitTool>
./job4/config.xml:    <gitTool>Default</gitTool>

そこで、gitToolの名前を修正し、Jenkinsを再起動しました。 gitの設定が適切に行われず、gitの変更がすべてのジョブに反映されていないようです。

また、gitの構成は.xmlファイルで構成とJenkinsのwebfaceでの構成が異なる場合があることに注意してください!!!

2
kayn

さまざまな理由で発生する可能性があります。

  1. Gitがインストールされていない可能性があります
  2. Jenkinsはgitバイナリを使用できません
  3. 許可の問題。

このブログ Jenkins Git Clone Error では、このエラーのすべてのシナリオとその解決策について説明しています。

0
Bibin Wilson

新しいJOBを作成した後、同じ問題に遭遇し、Label Expressionの下のRestrict where this project can be runのスレーブ名(GITがインストール済み)を修正して修正しました。

0
Arpit
  1. 実行git --versionマスターまたはスレーブのいずれか
  2. 何も取得しない場合、Gitがインストールされていないことを意味します
  3. Gitがインストールされていると思われる場合は、Git実行可能ファイル(C:\ Program Files\Git\cmdなど)のパスをPATH環境変数に追加します
  4. 実行git --versionマスターまたはスレーブのいずれかで、有効なバージョンを取得していることを確認します
0
Ritesh

スーパーリーが答えるステップを除いて、サーバー側のノードプロパティ、ローカルがWindowsシステムの場合はツールの場所を設定する必要があります。以下のスクリーンショットを参照してください。

サーバー側のツールの場所

0
Hailin Tan