Hudson git克隆错误

11

我在Hudson中创建了一个自由风格的软件项目。

我想克隆一个公共的Git存储库:git://github.com/bret/watir.git

构建失败,出现错误信息:

Started by user anonymous
Checkout:workspace / C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace - hudson.remoting.LocalChannel@1a1f370
Last Build : #4
Checkout:workspace / C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace - hudson.remoting.LocalChannel@1a1f370
Cloning the remote Git repository
Cloning repository origin
$ git clone -o origin git://github.com/bret/watir.git "C:\Documents and Settings\Administrator\.hudson\jobs\watir\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:400)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:358)
    at hudson.FilePath.act(FilePath.java:676)
    at hudson.FilePath.act(FilePath.java:660)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:358)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:833)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:314)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:266)
    at hudson.model.Run.run(Run.java:948)
    at hudson.model.Build.run(Build.java:112)
    at hudson.model.ResourceController.execute(ResourceController.java:93)
    at hudson.model.Executor.run(Executor.java:118)

我认为问题不在文件夹权限上,因为我有另一个使用SVN存储库的Hudson任务可以正常工作。

我已经尝试从命令行将存储库克隆到.hudson \ jobs \ watir \ workspace中,并且它可以正常工作:

C:\>git clone -o origin git://github.com/bret/watir.git "C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace"
Initialized empty Git repository in C:/Documents and Settings/Administrator/.hudson/jobs/watir/workspace/.git/
remote: Counting objects: 15203, done.
essing objects: 100% (5307/5307), done.
remote: Total 15203 (delta 10052), reused 14532 (delta 9565)
Receiving objects: 100% (15203/15203), 7.88 MiB | 144 KiB/s, done.
Resolving deltas: 100% (10052/10052), done.
据我所知,Hudson使用的Git可执行文件要么与命令行使用的相同,要么版本相同。
命令行:
C:\>git version
git version 1.6.3.2.1299.gee46c

Hudson:

Started by user anonymous
[workspace] $ cmd /c call C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\hudson9062544454093366628.bat

C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace>git version
git version 1.6.3.2.1299.gee46c
Finished: SUCCESS

在网上搜索后,我只找到了一个与我的错误信息相关的页面(hudson git plugin remote windows slave clone),它说问题是Git没有在路径中。但是如果是这种情况,git version 将无法从Hudson运行,对吗?

环境:

  • Microsoft Windows Server 2003 R2,标准版,Service Pack 2
  • java 1.6.0_14
  • Hudson 1.316
  • Hudson GIT插件0.7.3
  • git 1.6.3.2.1299.gee46c
4个回答

8
看起来Hudson Git插件远程Windows从机克隆的帖子是正确的。当我进入管理Hudson > 配置系统,在Git > Git可执行文件部分,出现错误PATH中没有git可执行文件。(如果页面显示后几秒钟,Hudson会显示这个错误。)将C:\Program Files\Git\bin添加到路径并重新启动Hudson解决了问题。

谢谢,我遇到了同样的问题。看起来Hudson从机驱动程序[;-)]期望像命令行一样发出命令。Git\cmd在路径中但不是Git\bin。这归结于你如何调用事物。 - Steve Powell
我也遇到了同样的问题。路径中没有git。 - Matthew Farwell

1
值得注意的是,如果克隆过程本身存在问题,您也会遇到此问题。我曾经遇到过一个问题,即在对大型存储库进行初始克隆时,我的其中一个框架失败了5次中的4次,而且hudson一直抛出此错误。验证这个问题的一个好方法,而且不是Hudson无法找到git可执行文件,就是手动将存储库克隆到Hudson工作区,然后运行Hudson构建:如果Hudson已正确配置,则构建将成功并报告没有更改。

这正是我一直遇到的问题。如果我先在命令行上对工作区进行克隆,然后再让Hudson进行未来的构建,那么一切都会正常工作。显然,在最初的克隆过程中出了些问题,但我目前无法确定具体是什么问题。毫无疑问,调试Git插件代码可以揭示问题所在。如果我有空闲时间,我计划做这个事情。 - Rob Segal

0

我需要尝试使用ssh协议的 git@github.company.co.uk:organisation/repo.git URL,而不是https协议的 https://github.company.co.uk/organisation/repo.git


-1

Git插件0.7.3在使用Windows绝对路径时存在一些问题。

尝试改用相对路径。


怎么做?你能更具体些吗?我在Hudson中怎样指定使用相对路径? - Željko Filipin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接