获取hudson结帐源到特定目录

时间:2010-10-05 18:45:42

标签: svn continuous-integration hudson continuous

这似乎是一项简单的任务,但对于我的生活,我无法让Hudson将我的源码检查到特定目录。 我可以在命令行上使用svn签出源代码。 我尝试在源代码管理下指定本地模块设置,但没有骰子。

我将它设置为c:\ source \ trunk,当我运行构建时,我得到了这个。

Started by user anonymous
Checking out http://mysvnserver/trunk
java.io.IOException: The filename, directory name, or volume label syntax is incorrect
    at java.io.WinNTFileSystem.canonicalize0(Native Method)
    at java.io.Win32FileSystem.canonicalize(Unknown Source)
    at java.io.File.getCanonicalPath(Unknown Source)
    at java.io.File.getCanonicalFile(Unknown Source)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:742)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:660)
    at hudson.FilePath.act(FilePath.java:753)
    at hudson.FilePath.act(FilePath.java:735)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:653)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:601)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1082)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
    at hudson.model.Run.run(Run.java:1280)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:293)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:137)
Finished: FAILURE

当我尝试设置相对路径时,它说我不能使用绝对目录。 即\ source \ trunk

我希望发生的一切都是hudson checkout我的来源c:\ source \ trunk

3 个答案:

答案 0 :(得分:5)

正如斯比已经说过的那样:

  

SVN之类的路径相对于    工作区根目录。至少那是什么   “本地模块目录”的帮助   在作业配置页面上说。

使用'\'开始路径时,意味着路径是绝对路径。你有两个选择。

  1. 为作业定义自定义工作区。这可能是c:\ source,并且源的结账将是trunk(或者如果检查你的svn url以'/ trunk'结尾,则将其保留为空。
  2. 将其签出到您的标准工作区,然后将其复制到C:\ source \ trunk。
  3. 顺便说一句,我赞成第二种选择,因为我试图以几乎所有成本避免使用自定义工作区。

答案 1 :(得分:1)

SVN之类的路径相对于工作区根 。至少这是“本地模块目录”在“作业配置”页面上所说的帮助。

答案 2 :(得分:0)

另一种解决方法是在运行Hudson的同一系统中创建MAster-Slave配置。在同一台机器上创建一个从站,并指向您希望yur projet在Slave配置中签出的位置