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)

我不认为问题出在文件夹权限上,因为我有另一个 Hudson 工作(使用 SVN 存储库)工作得很好。

我试图从命令行将存储库克隆到 .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

哈德逊:

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就不会从哈德逊跑了,对吧?

环境:

  • Microsoft Windows Server 2003 R2,标准版,Service Pack 2
  • java 1.6.0_14
  • 哈德逊 1.316
  • Hudson GIT 插件 0.7.3
  • 混帐 1.6.3.2.1299.gee46c
4

4 回答 4

8

看起来hudson git plugin remote windows slave clone post 是对的。当我转到Manage Hudson > Configure System部分时,Git > Git executable出现 error There's no such executable git in PATH。(如果显示页面后 Hudson 需要几秒钟才能显示错误。)添加C:\Program Files\Git\bin到路径并重新启动 Hudson 解决了问题。

于 2009-07-24T13:54:24.123 回答
1

值得注意的是,如果克隆过程本身存在问题,您也会看到此问题。在大型存储库的初始克隆中,我的一个盒子有 5 次失败 4 次,而 hudson 一直抛出这个错误。验证这是问题的一个好方法,不是 Hudson 无法找到 git 可执行文件,是手动将存储库克隆到 Hudson 工作区,然后运行 ​​Hudson 构建:如果 Hudson 配置正确,构建将成功并且报告没有变化。

于 2010-03-28T15:14:56.497 回答
0

我需要尝试使用 ssh git@github.company.co.uk:organisation/repo.giturl 而不是 httpshttps://github.company.co.uk/organisation/repo.git

于 2015-07-28T09:37:09.013 回答
-1

Git 插件 0.7.3 与 Windows 绝对路径一起使用时会出现一些问题。

尝试使用相对路径。

于 2009-07-24T12:35:06.117 回答