【问题标题】:Hudson Nant Plugin = $WORKSPACE property containing spacesHudson Nant 插件 = 包含空格的 $WORKSPACE 属性
【发布时间】:2011-08-27 20:55:18
【问题描述】:

我正在尝试 Hudson 并尝试运行接收解决方案文件夹路径的 Nant 脚本(对于我的 .net 1.1 项目),但由于路径中包含空格,它一直失败。

所以我的电话是:

  1. 添加构建步骤 NANT
  2. 设置我的 nant 文件路径 (D:\build\myproject.build)
  3. 点击高级并设置以下参数:
solutionPath="${WORKSPACE}"
buildFlavor=Release
buildPlatform=Any CPU
  1. 当我运行构建时,出现以下错误:

执行命令:[cmd.exe, /C, "NAnt.exe -buildfile:D:\build\myproject.build "-D:buildPlatform=Any CPU" -D:buildFlavor=发布 -D:solutionPath=${WORKSPACE} && 退出 %%ERRORLEVEL%%"] [工作区] $ cmd.exe /C '"NAnt.exe -buildfile:D:\build\myproject.build "-D:buildPlatform=Any CPU" -D:buildFlavor=发布 -D:solutionPath=${WORKSPACE} && 退出 %%ERRORLEVEL%%"'

目标 'Files\Hudson\jobs\myproject\workspace' 在此不存在 项目。

这意味着因为我的路径包含空格,所以调用发送不正确。

我的试训:

  • solutionPath="$WORKSPACE"
  • 将解决方案路径设置在中间、底部或顶部,始终相同
  • 我尝试在参数末尾设置一个分号并以某种方式工作,但显然当 nant 脚本运行时,分号使一切都失败了。而且我真的不想走这条路。
  • basedir 是一样的

我该如何解决这个问题?我已经尝试了将近 3 个小时,但什么也没有。我要放弃哈德森了!这比 TFS 2008 控制台要好得多,但我已经在那里工作了,所以搬到 Hudson 似乎比以往任何时候都更遥远。

更新:忘记添加。我使用 Windows Batch 步骤让它工作,但我更愿意通过 Nant 插件来完成它

谢谢大家

【问题讨论】:

    标签: continuous-integration hudson nant


    【解决方案1】:

    我没有使用 Hudson 配置的经验,但您为什么不尝试以下方法之一:

    solutionPath="'${WORKSPACE}'"
    

    solutionPath=""${WORKSPACE}""
    

    【讨论】:

    • 我尝试了第二个选项,但没有成功。 Hudson 调用是通过 Windows 批处理脚本进行的。
    【解决方案2】:

    最后,我只是使用了 Windows 批处理脚本步骤。我必须将 NANT 文件夹放在 PATH 中并始终将脚本运行为:

    nant.exe -buildfile:xxx.build

    我没有时间进一步调查,我认为这应该是一个大问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多