哈德逊git插件赢得';Linux上的t克隆repo

哈德逊git插件赢得';Linux上的t克隆repo,git,continuous-integration,hudson,github,hudson-plugins,Git,Continuous Integration,Hudson,Github,Hudson Plugins,好吧,我在github上的回购协议在运行Fedora8的Hudson服务器上被克隆时遇到了一些问题。当git遇到错误时,输出是通常的错误输出: Started by user anonymous Checkout:workspace / /home/tomcat/.hudson/jobs/CIExample/workspace - hudson.remoting.LocalChannel@3861e6 Using strategy: Default Checkout:workspace / /h

好吧,我在github上的回购协议在运行Fedora8的Hudson服务器上被克隆时遇到了一些问题。当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
它运行没有问题,回购协议被克隆。手动运行该命令时遇到的唯一问题是工作区文件夹是否已退出。Git不喜欢我要克隆到的本地文件夹已经存在。我感觉Hudson在尝试克隆之前正在创建那个文件夹

非常感谢您的帮助。

当您的Hudson作业服务器执行并尝试调用git命令时,您有没有这样做?
请参阅本手册的“了解”部分

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


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

我在SSH://git URL上遇到了这个错误,问题是我没有安装Hudson“SSH插件”。

我在Hudson上从git签出一个项目时遇到了类似的问题(v 2.2.1)。 我之前使用的是subversion,它有现有的工作区。所以当我配置Git时,我选中了“在构建之前清除工作区”选项,在hudson上运行构建时,它清理了现有的工作区并立即失败。我尝试运行了几次,结果都是一样的

当我取消选中“在构建之前清除工作区”选项时,我的下一个构建和签出将不会出现任何问题


是否有人在使用git的hudson上观察到这种行为。

是的,我已尝试将git可执行文件设置为其完全限定路径…$/usr/bin/git clone-o origin/home/tomcat/.hudson/jobs/CIExample/workspace会导致相同的错误。@Matt W:然后尝试显式设置$home环境变量,如或(即使这些答案适用于Windows,这里也适用相同的原则)tomcat用户的HOME环境变量已经存在。“echo$HOME”outputs'/HOME/tomcat”。这没有问题。此外,git的公钥文件存在于.ssh文件夹中。@Matt W:重点是在Hudson配置设置中设置
$HOME
环境变量,而不是依赖shell environment(这里不必特别确定:值得一试)。有点像,钥匙的实际查找位置不正确。@Matt W:至少,
$HOME
设置对Jako有效;)@VonC:具有讽刺意味的是,这个链接指向了这个问题的草草转载:@Piskvor:是的,我当时不知道那些邪恶的网站。但是现在有办法缓解这种情况了:@VonC:啊,好东西!谢谢提醒。我确实调查过这个问题:只有当你第一次签出时才会发生这种情况,然后它就失败了;在在这一点上,如果您查看工作区目录,它会创建一个.git文件夹。第二次运行作业是成功的。因此如果选项“擦除工作区”选择后,它将清除.git文件夹并失败。此处有更多信息:+1。启用此选项后,Hudson/git插件将无法恢复。禁用此选项将修复此问题。