环境:
我们正准备从SVN迁移到Git并使用SVN进行大量工作构建。 Hudson Git构建的初始尝试使用了Git插件。我开始构建它将进入git克隆阶段。将完全60k的磁盘空间写入.git目录,然后Hudson / Git将冻结。哈德森只是坐在建筑物上等待。
我禁用了Git插件,而是通过Hudson 执行Windows批处理命令工具启动了Python脚本。当.git目录使用正好60k的磁盘空间时,它会运行并冻结。
我捕获了Hudson构建并在命令行上运行它的批处理文件,它运行完成。
我的一个想法是作业在stdout或stderr上阻塞,所以我将两者重定向到NULL。不,仍然达到了60k的障碍。然后我尝试用-q标志(安静)启动git clone。仍然没有。
哈德森日志显示珍贵的一点点。以下是一次运行的样本:Jul 28, 2010 5:07:56 PM hudson.model.Run run
INFO: 540UnitTesting-GitTest #32 aborted
java.lang.InterruptedException
at java.lang.ProcessImpl.waitFor(Native Method)
at hudson.Proc$LocalProc.join(Proc.java:222)
at hudson.Launcher$ProcStarter.join(Launcher.java:280)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:83)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:58)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
at hudson.model.Build$RunnerImpl.build(Build.java:174)
at hudson.model.Build$RunnerImpl.doRun(Build.java:138)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
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:129)
我的下一步是将Hudson迁移到Linux,尽管我希望将来某个时候能够这样做。 有没有人对如何在Windows上修复此问题(有或没有Git插件)有任何想法?
答案 0 :(得分:0)
Git是否使用了一些特定于用户的配置文件?如果是这样可能是一个许可问题。大多数人似乎使用local_system帐户将Hudson作为服务器运行。您有两个选项,首先您可以作为不同的用户运行hudson,并通过交互式登录和设置git创建必要的文件,或者您可以识别丢失的文件并将它们复制到local_system帐户的工作区。要获得本地系统工作区的正确路径,您需要稍微google一下。它通常位于Windows文件夹中的某个位置。
编辑:您是否检查过Hudson日志?