git clone在Mac OS X上的Hudson上失败

时间:2012-06-02 22:38:15

标签: git hudson

我在Mac OS X上使用Hudson和git插件。我的git存储库在我自己的服务器上,可以通过SSH访问。我已正确配置密钥。我使用默认的Winstone服务器从命令行启动Hudson。从命令行克隆工作,一切都运行得很好,有一天我想强迫Hudson在构建之前清除存储库。因此,我在高级项目选项组中检查了构建之前的清洁工作区。从现在开始,每个构建都会失败并显示以下消息:

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存储库检查了同样的问题并且问题仍然存在。有许多与此问题相关的类似问题,其中大多数都是指ssh的配置 - 结果证明在我的系统上正确完成。我还在http://wiki.hudson-ci.org/display/HUDSON/Git+Plugin发现了这条消息,表明这个失败可能是由git可执行文件的路径问题引起的。当然我检查了一下,正如预期的那样,我的系统没有任何区别。这里报告的问题更为密切:Hudson git clone error Rob Segal说:

  

这正是我遇到的问题。如果我先在命令行上进行克隆,首先进入hudson将要工作的工作空间,未来的构建工作正常。最初的克隆过程显然出现了问题,但我不能说到目前究竟是什么。毫无疑问,调试Git插件代码可以准确揭示出错了什么。如果我有空闲时间,我打算这样做。

到目前为止,我还没有找到任何关于我的情况的参考,其中克隆中的失败似乎与在构建选项之前启用清理工作区相关。

Git插件有自己的选项在构建之前擦除工作区,这似乎与上面提到的构建之前的清洁工作区选项具有相同的功能。它对克隆具有相同的效果:启用它后,克隆失败并显示上述消息。

一旦我注意到这个问题,解决方法似乎不是在构建选项之前使用 Clean工作区而不是在新构建中使用git插件(并在构建步骤中执行git clone) ,但我不确定这是否真的是问题。也许有人有同样的问题,可以指出一些解决方案。

1 个答案:

答案 0 :(得分:0)

请记住,hudson / jenkins用户将发出克隆请求。你需要拥有 为运行hudson的用户配置了一个ssh密钥,并为该用户提供了对存储库的读访问权。