2016-11-30 22 views
2

私はJenkinsを設定して、bitbucketからプロジェクトをプル&ビルドしようとしています。致命的です:無効なID Jenkins IIS

私はこれをIIS 8.5 Server 2012 r2で使用しています。私はGitとBitbucketのプラグインをセットアップしました。私は次のようでプロジェクトを設定している

Branch Specifier (blank for 'any'): "origin/master" 

私は、これが問題の一部であるかどうかわからないんだけど、私は私のレポでは、1つの支店を持っています。

ビルドを実行しているときに、次のエラーが表示されます。IDが無効であることに関する情報が見つからない場合は、誰かが正しい方向に向かうことができますか?

最後のコミットからハッシュを取得していて、無効なIDと言っているようですが、それはハッシュIDかどうかわかりませんが、存在するビルドディレクトリそして、)適切な権限を持っていることが

エラーログ失敗したとき:

Started by user Stu 
Building in workspace C:\Program Files (x86)\Jenkins\workspace\Fenix 
> C:\Program Files\Git\git-cmd.exe rev-parse --is-inside-work-tree # timeout=10 
Fetching changes from the remote Git repository 
> C:\Program Files\Git\git-cmd.exe config remote.origin.url https://[email protected]/project/project-fenix.git # timeout=10 
Fetching upstream changes from https://[email protected]/project/project-fenix.git 
> C:\Program Files\Git\git-cmd.exe --version # timeout=10 
using GIT_ASKPASS to set credentials 
> C:\Program Files\Git\git-cmd.exe fetch --tags https://[email protected]/project/project-fenix.git +refs/heads/*:refs/remotes/origin/* 
> C:\Program Files\Git\git-cmd.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10 
FATAL: Invalid id: C:\Program Files (x86)\Jenkins\workspace\Fenix> 
org.eclipse.jgit.errors.InvalidObjectIdException: Invalid id: C:\Program Files (x86)\Jenkins\workspace\Fenix> 
    at org.eclipse.jgit.lib.ObjectId.fromString(ObjectId.java:232) 
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.revParse(CliGitAPIImpl.java:689) 
    at hudson.plugins.git.GitAPI.revParse(GitAPI.java:316) 
    at hudson.plugins.git.util.DefaultBuildChooser.getHeadRevision(DefaultBuildChooser.java:130) 
    at hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:112) 
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:992) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1095) 
    at hudson.scm.SCM.checkout(SCM.java:495) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1278) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604) 
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) 
    at hudson.model.Run.execute(Run.java:1728) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:404) 
Finished: FAILURE 

を私は多くの場所を見てきた代わりに.exegit.cmdを使用して参照するが、ないCMDファイルは私のGitのディレクトリに存在しません。 .exeファイルを使用するとタイムアウトして接続できないので、私はC:\Program Files\Git\git-cmd.exeを使用しており、少なくとも接続しています。誰もが、私はこの特定のエラーについてのオンライン何かを見つけることができませんとしていただければ幸い正しい方向に私を指すことができれば

Gitのverionは、Windows v2.10.2

のためにGitのです。

答えて

0

しようとする最初のテストは取り除くことです。

  • 任意のスペース
  • 特殊文字((x86)のような)

あなたはGitリポジトリのポータブル版をダウンロードしているので、あなたそのアーカイブをたとえばC:\prgs\gits\git2.10.2に解凍できます。

そして、Jenkinsワークスペースをより簡単なPATHにセットアップすることができます。

次に、問題が解決しないかどうかを確認します。 your Jenkins job logsから


> C:\ick\git\git-cmd.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10 
FATAL: Invalid id: C:\ick\jenkins\workspace\fenix> 
org.eclipse.jgit.errors.InvalidObjectIdException: Invalid id: C:\ick\jenkins\workspace\fenix> 
    at org.eclipse.jgit.lib.ObjectId.fromString(ObjectId.java:232) 
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.revParse(CliGitAPIImpl.java:689) 
    at hudson.plugins.git.GitAPI.revParse(GitAPI.java:316) 
    at hudson.plugins.git.util.DefaultBuildChooser.getHeadRevision(DefaultBuildChooser.java:130) 
    at hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:112) 
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:992) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1095) 
    at hudson.scm.SCM.checkout(SCM.java:495) 

それはissue 34886のように見えます。あなたのケースでは、リモートBitBucketレポに "master"という名前のブランチがなく、 "refs/remotes/origin/master^{commit}"の逆参照が不可能になっている可能性があります。

+0

こんにちは@VonC、提案のおかげで、私はGitとジェンキンをC:/ ick /に移動しました。同じエラーが表示されています:pastebin.com/bBYfvZA4。私はそのIDが無効になる可能性があるとは思いませんか?あなたはsshキーを設定しなければならないかもしれません、そのユーザ名とパスワード認証では十分ではありませんか? – Stu

+0

@Stu私は自分の答えを更新しました。 – VonC

+0

こんにちは@VonC、ありがとう、私はここでは、同じリポジトリからのいくつかのコンソール出力があると信じています:http://pastebin.com/U2iQh2Yj。私はJenkinsプロジェクトのセットアップで '*/master'として" Branch Specifier "を持っていました。これはビルドの' refs/remotes/origin/master'を呼び出しているようです – Stu

2

gent-cmd.exeをJenkinsのgit実装として使用しないでください。 gitインストールのbinディレクトリまたはgit instalaltionのcmdディレクトリからgit.exeを使用します。それはより良く機能し、テストされ、サポートされています。

私が知る限り、git-cmd.exeはgitに同梱されているプログラムで、gitがパスに含まれているWindowsコマンドプロセッサを起動するために使用されます。私はgitコマンドを実行することに感心していますが、そうするようです。すべてのgitコマンドを実行するわけではなく、斬新で面白いエラーメッセージを提供します。

git.exeが期待どおりに動作するのに対し、gitプログラムのそのフォームが誤って動作するユースケースの例については、JENKINS-45212を参照してください。

関連する問題