Hudson git插件不会在Linux上克隆repo

时间:2010-07-06 19:26:34

标签: git continuous-integration hudson github hudson-plugins

好吧,所以我在我的Hithson服务器上克隆了我的repo时出现了一些问题,这个服务器正在运行Fedora 8.当git遇到错误时输出是通常的错误输出:

Started by user anonymous
Checkout:workspace / /home/tomcat/.hudson/jobs/CIExample/workspace - hudson.remoting.LocalChannel@3861e6
Using strategy: Default
Checkout:workspace / /home/tomcat/.hudson/jobs/CIExample/workspace - hudson.remoting.LocalChannel@3861e6
GitAPI created
Cloning the remote Git repository
Cloning repository origin
$ git clone -o origin https://mattupstate@github.com/mattupstate/CIExample.git /home/tomcat/.hudson/jobs/CIExample/workspace
ERROR: Error cloning remote repo 'origin' : Could not clone https://mattupstate@github.com/mattupstate/CIExample.git
ERROR: Cause: Error performing git clone -o origin https://mattupstate@github.com/mattupstate/CIExample.git /home/tomcat/.hudson/jobs/CIExample/workspace
Trying next repository
ERROR: Could not clone from a repository
FATAL: Could not clone
hudson.plugins.git.GitException: Could not clone
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:587)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:535)
    at hudson.FilePath.act(FilePath.java:753)
    at hudson.FilePath.act(FilePath.java:735)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:535)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1044)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
    at hudson.model.Run.run(Run.java:1257)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:127)

根据某些人的报告,构建不会挂起。它立即失败了。另外,如果我登录我的盒子,切换到tomcat用户(运行Tomcat的用户,从而运行Hudson),并运行此命令:

git clone -o origin https://mattupstate@github.com/mattupstate/CIExample.git /home/tomcat/.hudson/jobs/CIExample/workspace

它运行没有问题,克隆了repo。我尝试手动运行该命令的唯一问题是工作区文件夹是否已经退出。当我要克隆的本地文件夹已经存在时,Git不喜欢它。我有一种感觉Hudson在尝试克隆之前创建了该文件夹吗?

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:1)

我在Hudson(v 2.2.1)上从git检查项目时遇到了类似的问题。 我之前使用的是subversion,它在那里有现有的工作空间。因此,当我配置Git时,我选中了“在构建之前擦除工作区”选项,并且在hudson上运行构建时,它清理了现有工作区并立即失败。我尝试运行这几次,结果相同。

当我取消选中“在构建之前擦除工作区”选项时,我的下一个版本会在没有任何问题的情况下检查完好。

有没有人用git在哈德森身上观察过这种行为。

答案 1 :(得分:0)

您的Hudson作业服务器执行并尝试调用git命令时是否check your path? 请参阅Git Hudson plugin的“Gotcha”部分。

  

如果您看到输出指示Git无法克隆,如下面的输出,请转到Hudson配置设置(不是项目设置,全局设置)并将Git路径更改为完全限定路径(例如。不是“git”而是“/usr/bin/git”或安装了Git二进制文件的位置   如果您正在执行基于文件系统的克隆,还应验证权限是否正确。

答案 2 :(得分:0)

我无法克隆ssh://git@github.com/x/y.git但可以克隆git://github.com/x/y.git,所以我觉得SSH就是问题所在。

答案 3 :(得分:0)

我在使用ssh:// git URL时遇到此错误,问题是我没有安装Hudson“SSH插件”。