【问题标题】:CruiseControl.Net ignoring NAnt filesetCruiseControl.Net 忽略 NAnt 文件集
【发布时间】:2012-02-02 19:40:44
【问题描述】:

我通过复制应该排除 .cs 和其他文件的文件集来发布网站。我已经从命令行测试了我的 NAnt 脚本,它工作正常,但是当从 CCNet 调用它时,它会复制所有文件,完全忽略我的文件集上的排除项。有什么想法吗?

从 CruiseControl.Net 调用我的 NAnt 构建文件。

<tasks>
  <nant>
    <executable>$(nant.exe)</executable>
    <baseDirectory>$(build-dir)\$(project-dir)</baseDirectory>
    <buildArgs></buildArgs>
    <nologo>true</nologo>
    <buildFile>aview-dev.build.xml</buildFile>
    <targetList>
      <target>go</target>
    </targetList>
    <buildTimeoutSeconds>300</buildTimeoutSeconds>
  </nant>
</tasks>

似乎不起作用的 NAnt 构建文件块(我的“发布”步骤的一部分)。

<copy todir="${publish.path}" includeemptydirs="false">
  <fileset basedir="${src.path}" defaultexcludes="true">
    <include name="**/**" />
    <exclude name="**.csproj*"/>
    <exclude name="**.cs"/>
    <exclude name="**.vb"/>
    <exclude name="**.sln"/>
    <exclude name="**/obj/**"/>
  </fileset>
</copy>

直接从命令提示符运行时,相同的 NAnt 文件可以正常工作。

nant -buildfile:test.build.xml -debug

我正在使用 NAnt 0.91 和 CCNet 1.6.7981.1

【问题讨论】:

  • 我建议输出 ${publish.path} 和 ${src.path} 的值,看看它们在两个实例中是否相同。
  • 谢谢拉米。我输出路径,它们在两种情况下都是相同的:“src\”和“published\”。批处理文件与 Nant 脚本位于同一目录中。我很确定我已经尝试过使用完整路径,但我会再试一次。
  • 完整路径没有影响。在将 -debug 添加到 buildArgs 后,我检查了构建日志。它告诉我每个被删除和复制的文件,并且没有提到 .vb 文件。但是,当我查看“已发布”目录时,每个 .vb 文件都在那里。即使我在 NAnt 任务中删除/重新创建“已发布”目录,也会发生同样的事情。我不明白 .vb 文件是如何潜入其中的。甚至 .svn 文件夹也会被复制,默认情况下应该阻止它excludes="true"。
  • 尝试使用 代替。您还可以尝试从 src.path 和 publish.path 中删除尾部反斜杠,看看是否有区别。

标签: cruisecontrol.net nant


【解决方案1】:

在调试模式下运行 NAnt 脚本并检查 .vb 文件实际上没有被 NAnt 复制后,我回到了我的 CCNet 配置。我意识到我已经在我的 ccnet.config 中定义了一个 buildpublisher 块,并在我的 ccnet 项目文件中使用了它。在 NAnt 任务正确复制文件后,buildpublisher 任务在没有任何过滤器的情况下重新复制所有内容(包括 .vb 文件、.svn 目录等)。

<buildpublisher>
  <sourceDir>C:\myprojects\project1\src</sourceDir>
  <publishDir>C:\myprojects\project1\src\published</publishDir>
  <useLabelSubDirectory>false</useLabelSubDirectory>
  <alwaysPublish>false</alwaysPublish>
</buildpublisher>

删除 buildpublisher 任务解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    相关资源
    最近更新 更多