Mac OS X上Hudson上的git克隆失败

Mac OS X上Hudson上的git克隆失败,git,hudson,Git,Hudson,我正在Mac OS X上使用Hudson with git插件。我的git存储库位于我自己的服务器上,可以通过SSH访问。我的钥匙配置正确。我使用默认的Winstone服务器从命令行启动Hudson。从命令行进行克隆是可行的,在Hudson中一切都很顺利。有一天,我想强迫Hudson在构建之前清除存储库。所以我在AdvancedProjectOptions组中检查了构建前的CleanWorkspace。从现在起,每个构建都会失败,并显示以下消息: Started by user anonymou

我正在Mac OS X上使用Hudson with git插件。我的git存储库位于我自己的服务器上,可以通过SSH访问。我的钥匙配置正确。我使用默认的Winstone服务器从命令行启动Hudson。从命令行进行克隆是可行的,在Hudson中一切都很顺利。有一天,我想强迫Hudson在构建之前清除存储库。所以我在AdvancedProjectOptions组中检查了构建前的CleanWorkspace。从现在起,每个构建都会失败,并显示以下消息:

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的配置——这在我的系统上被证明是正确的。我还发现了一条消息,提示这个失败可能是由于git可执行文件的路径问题引起的。我当然检查过了,正如预期的那样,这对我的系统没有影响。这里报道了更为接近的问题:Rob Segal说:

这正是我一直遇到的问题。如果我在命令行上首先克隆到hudson将工作的工作区,那么将来的构建工作会很好。很明显,最初的克隆过程中出现了一些问题,但我现在不能说具体是什么。毫无疑问,调试Git插件代码可以揭示出到底是什么问题。如果我有空,我打算这样做

到目前为止,我还没有找到任何与我所处的情况相关的参考资料,在这种情况下,克隆中的失败似乎与启用“构建前清理工作区”选项相关

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


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

记住,hudson/jenkins用户将提出克隆请求。你需要有
为运行hudson的用户配置了ssh密钥,并授予该用户对存储库的读取权限。

请记住,hudson/jenkins用户将发出克隆请求。你需要有
为运行hudson的用户配置了ssh密钥,并授予该用户对存储库的读取权限。

git@myserver.com:git/MyProject.git
这应该是假的吗?与中一样,您是否为帖子替换了它?是的,帖子的服务器url和存档名称已更改。“在生成之前擦除工作区”选项是否会擦除
.git
目录本身(在克隆完成时将工作区设为普通目录)?我认为这可能是一个问题,因为Hudson将克隆到工作区文件夹中,该文件夹必须为空,克隆才能工作。我应该签出并报告,但即使手动删除工作区文件夹的内容,克隆操作仍会以同样的方式失败。
git@myserver.com:git/MyProject.git
这应该是假的吗?与中一样,您是否为帖子替换了它?是的,帖子的服务器url和存档名称已更改。“在生成之前擦除工作区”选项是否会擦除
.git
目录本身(在克隆完成时将工作区设为普通目录)?我认为这可能是一个问题,因为Hudson将克隆到工作区文件夹中,该文件夹必须为空,克隆才能工作。我应该检查并报告,但即使我手动删除工作区文件夹的内容,克隆操作仍会以相同的方式失败。正如我所说,这不是配置问题。git更新工作得很好。正如我所说的,这不是配置问题。git更新工作得很好。