2013-06-25 104 views
16

エラー:Jenkinsのgit pluginがローカルマシンからのリポジトリのクローン作成に失敗しました。エラーコード128

  • chmod 777レポフォルダ(フォルダ含む.gitディレクトリ)
  • chownedjenkins:jenkinsにレポフォルダ
  • に:私は次のことを試してみました

    Failed to connect to repository : Command "/usr/bin/git ls-remote -h file:///home/myuser/path/to/project HEAD" returned status code 128: 
    stdout: 
    stderr: fatal: 'home/myuser/path/to/project' does not appear to be a git repository 
    fatal: The remote end hung up unexpectedly 
    

  • は、このローカルrepoフォルダから別のフォルダに複製しようとしました:これは動作します!

上記のコマンドを実行すると、cmdに/usr/bin/git ls-remote -h file:///home/myuser/path/to/project HEADというブランチが表示されます。

私の質問は以下のとおりです。

  1. それはgit clone ...でなければならない時に、なぜgit ls-remote -h ...コマンドと呼ばれていますか?地元のレポから

私の環境でコードを取得するためにジェンキンスgitのプラグインを設定する方法

  • RHEL 5.9

    ジェンキンス1.519サービス(なしWebコンテナ)

    Git pluginとしてインストール

  • +4

    OSXを使用しています。 – tripleee

    +0

    私は同意します...選択した回答をご覧ください。 – Vikram

    答えて

    15

    サービスとしてJenkinsをインストールし、デフォルトでは、Jenkinsは、のようにユーザディレクトリを作成しません:/home/jenkins。 Jenkinsのデフォルトのホームディレクトリは/var/lib/jenkinsに設定されています。私の回避策からは、期待通りに、jenkinsは他のユーザーのディレクトリからローカルリソースにアクセスするのに問題があります。

    私は/var/lib/jenkins下ジェンキンスデフォルトのホームディレクトリの下の私のクローン化されたレポすなわち移動ジェンキンスプロジェクト構成のように、私のRepository URLは、次のようになります。file:///${JENKINS_HOME}/repo/<myprojectname>

    UPDATE: 上記正常に動作します...しかし、私はthis blog

    からそれを行うには良い方法を発見したステップはここに概説されている:

    /etc/init.d/jenkinsスクリプトを見上げます。いくつかの$JENKINS変数が と定義されています。これにより、ジェンキンのsysconfig/etc/sysconfig/jenkins)につながるはずです。あなたのジェンキンスインスタンスを を停止します。

    sudo /sbin/service jenkins stop

    は、次のプロパティを変更し、このファイルに

    cp /etc/sysconfig/jenkins /etc/sysconfig/jenkins.bak

    バックアップを取る:すべての関連の

    $JENKINS_USER="<your desired user>"

    変更の所有権をJenkinsディレクトリ:

    chown -R <your desired user>:<your user group> /var/lib/jenkins

    chown -R <your desired user>:<your user group> /var/cache/jenkins

    chown -R <your desired user>:<your user group> /var/log/jenkins

    再起動ジェンキンスとそのエラーが消えるはず

    sudo /sbin/service jenkins start

    このエラーは今離れて行く必要があります!

    +1

    ありがとう。これらのディレクトリの所有権を "jenkins"ユーザーに変更した後で動作します – Varshith

    +1

    最新のUbuntuでは、少なくともsysconfig/defaultsファイルの$ NAMEの他の用途も見直す必要があります。 "jenkins.war"ファイルへの参照さえ実際$ NAME.warでした。 –

    3
    1. Jenkinsは、ワークスペースがプロジェクト用に構成されて初めて初めてgit cloneコマンドを使用します。さらにインスタンスはgit ls-remoteコマンドを使用します。

    2. 私はJenkinsを設定したときに同じ問題が発生しました。それはSSHキーで遊んで解決されました。これは構成の問題のようにも見えます。 SSH鍵がJenkinsアカウント用に設定されているかどうかを確認します。

    また、提供されているリンクにSSHを設定する手順の手順を参照してください。これは正確な解決策を提供しないかもしれませんが、解決策を指摘することができます。

    http://oodlestechnologies.com/blogs/How-to-setup-Jenkins-With-Grails-on-Ubuntu

    +0

    これらのポインタのおかげで! – Vikram

    +0

    あなたのリンクごとにsudo list 'jenkins ALL =(ALL:ALL)ALL'にジェンキンを追加しました残念ながら、それでもローカルファイルからリポジトリをクローンすることはできません。 – Vikram

    +0

    OSでユーザーとしてJenkinsを使用している場合、SSHキーが%userprofile%ディレクトリにあるかどうかを確認しましたか? –

    7

    この質問は尋ねられてからしばらくありましたが、今日この問題があり、リソースはほとんどありません。おそらく、人々はgitリポジトリと遠隔で接続する傾向があるからです。

    私はstraceを使ってjenkinsが何をしていたのかを確認しました。それは許可に問題がありました。

    しかし、私は回答#2よりも簡単な方法でそれを解決した - 私の場合には、GIT1を - gitのサーバグループにジェンキンスを追加することによって:私はWindows上でジェンキンスを実行している root# gpasswd -a jenkins git1 root# service jenkins restart

    +1

    ありがとう!私は既にgitグループにJenkinsを追加していましたが、私はあなたの答えを読んでみたJenkinsサービスを再起動する必要がありました。今私はJenkinsの設定で/opt/git/repo.gitを使うだけです。エラーコード128を取り除きました。 – B2F

    5

    をし、同じ問題を抱えていました。私はJenkinsサービスを自分のラップトップで自分のユーザーとしてログインさせることでこれを解決することができました。

    (Windows 7の)

    1. タスクマネージャを開きます(Ctrl + +エスケープシフト)
    2. ゴーサービスタブ
    3. からサービス]をクリックします...ボタン
    4. ジェンキンスプロパティでタブウィンドウで[ログイン]をクリックし、「ジェンキンス」を右クリックし、プロパティ
    5. をクリックして、サービスのリストで
    6. 検索「ジェンキンスは」
    7. 選択してくださいこのアカウント:の下にとしてログオンする:
    8. ユーザー名とパスワードを入力してください
    9. クリックOK
    10. 再起動ジェンキンスサービス
    11. その後、ボブのあなたの叔父。
    +0

    'java -jar jenkins.war'を実行すると、これは必要ですか? thx :) –

    +0

    @EnriqueSanMartin:それはまだ可能性が高いです。それはすべて、Javaプロセスを実行しているユーザーの権限と関係しています。 –

    0

    他の解決策は私にとってはちょっと「ハッキー」だとわかりました。私がしたのは、/ Users/Shared// Users/[myacccount] /からJenkins Homeフォルダを移動することでした。この方法で、私のJenkinsは私のreposと私のAndroid SDKにアクセスします(私がJenkinsを使うところですから)。次に、JENKINS_HOME環境変数を変更します。これは私の.bash_profileにJENKINS_HOMEを入力することで行いました(しかし、これを行う他の方法があります)。

    注:私は** `chmodの777`が凶悪アンチパターンと潜在的なセキュリティ上の問題である**あなたはできるだけ早くこの変更を元に戻す必要があり、あなたが解決しようとしているものは何でも問題

    関連する問題