2

Mac OS X で git プラグインを使用して Hudson を使用しています。私の git リポジトリは自分のサーバー上にあり、SSH でアクセスできます。キーを適切に構成しました。デフォルトの Winstone サーバーを使用して、コマンド ラインから Hudson を起動しています。コマンドラインからのクローン作成は機能し、ビルドの前にハドソンにリポジトリを強制的にクリアさせたいと思う前に、すべてがハドソンから非常にうまく機能しました。そのため、Advanced Project Optionsグループでビルドする前に Clean ワークスペースを確認しました。今後は、すべてのビルドが次のメッセージで失敗します。

Started by user anonymous
Cleaning the workspace because project is configured to clean the workspace before each build.
Checkout:workspace / /Users/mczenko/.hudson/jobs/My Project/workspace - hudson.remoting.LocalChannel@592e4ff9
Using strategy: Default
Last Built Revision: Revision fc233689562bf464b08d7406a382d4bee0209c04 (origin/master)
Checkout:workspace / /Users/user/.hudson/jobs/My Project/workspace - hudson.remoting.LocalChannel@592e4ff9
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone git@myserver.com:git/MyProject.git
ERROR: Cause: Exception caught during execution of fetch command
Trying next repository
ERROR: Could not clone repository
FATAL: Could not clone
hudson.plugins.git.GitException: Could not clone
    at hudson.plugins.git.GitSCM$3.invoke(GitSCM.java:913)
    at hudson.plugins.git.GitSCM$3.invoke(GitSCM.java:845)
    at hudson.FilePath.act(FilePath.java:758)
    at hudson.FilePath.act(FilePath.java:740)
    at hudson.plugins.git.GitSCM.gerRevisionToBuild(GitSCM.java:845)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:622)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1483)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:507)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:424)
    at hudson.model.Run.run(Run.java:1366)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:145)

最初は、ssh 構成に何か問題があり、サーバーのインストールに固有の何かがあるのではないかと考えました。しかし、その後、GitHub リポジトリの 1 つで同じことを確認しましたが、問題は解決しません。この問題に関連する同様の質問が多数ありますが、そのほとんどは ssh の構成に関するもので、私のシステムでは正しく構成されていることがわかりました。また、 http: //wiki.hudson-ci.org/display/HUDSON/Git+Plugin でメッセージを見つけて、この失敗は git 実行可能ファイルへのパスの問題が原因である可能性があることを示唆しています。もちろんそれを確認しましたが、予想どおり、システムに違いはありません。さらに近い問題がここで報告されています: Hudson git clone error where Rob Segal say:

これはまさに私が直面している問題です。最初にコマンド ラインで、hudson が動作するワークスペースにクローンを作成すると、将来のビルドは正常に動作します。最初のクローン作成プロセスで何か問題が発生していることは明らかですが、現時点では正確にはわかりません。Git プラグイン コードをデバッグすると、間違いなく何が問題なのかが明らかになります。自由な時間があれば、これを行う予定です。

これまでのところ、クローンの失敗がビルドオプションの前にワークスペースをクリーンアップすることと相関しているように見える状況への参照は見つかりませんでした。

Git プラグインには独自のオプションWipe out workspace before buildがあり、上記のClean workspace before buildオプションと同じ機能を持っているようです。クローン作成にも同じ効果があります。有効にした後、クローン作成は上記のメッセージで失敗します。

問題に気づいたら、ビルド オプションの前にクリーン ワークスペースを使用しないことと、新しいビルドに git プラグインを使用しないこと (およびビルド ステップで git clone を実行すること) が回避策のようですが、これが本当に正しいかどうかはわかりません。問題。誰かが同じ問題を抱えていて、解決策を指摘できるかもしれません。

4

1 に答える 1

0

hudson/jenkinsユーザーがクローン要求を行うことに注意してください。hudsonを実行しているユーザーのsshキーを構成し、そのユーザーにリポジトリへの読み取りアクセス権を付与する必要があります。

于 2012-07-25T09:26:35.757 に答える