合并发布者 - <file action =“Copy”>在CruiseControl.Net中实际做了什么?</file>

时间:2011-11-08 20:43:51

标签: cruisecontrol.net testcomplete

我继承了一个从CruiseControl运行TestComplete脚本的项目。 对于每个脚本,CCnet.Config中都有一个条目,每个条目都以以下内容结尾:

<publishers>
  <merge>
   <files>
     <file action="Copy">
        C:\Test\Log\TestCompleteResult\TestWebLog.mht
     </file>
   </files>
  </merge>
 <xmllogger />
 <statistics />

我假设将TestComplete日志复制到该位置。但是,如果我更改位置(即到C:\ test \ log2 \ TestWebLog.mht),该文件仍然以C:\ Test \ Log \ TestCompleteResult结尾。我试过关闭CruiseControl,重新启动系统等,文件仍然在同一个位置。

我删除了目录和文件,检查了时间戳并查看了日志文件。所有这些都表明它是由最新运行的TestComplete脚本创建的新文件,但它总是放在同一位置:C:\ Test \ Log \ TestCompleteResult \ TestWebLog.mht。

是否有其他地方可以定义此路径?

2 个答案:

答案 0 :(得分:1)

来自CruiseControl.NET Wiki

  

复制:它不是将数据合并到构建日志中,而是将指定的文件复制到项目的artefacts文件夹下的“build”文件夹中

在ccnet.config中,您可以为构建结果的每个项目指定工件目录。

<project name="Project">
<artifactDirectory>C:\ProjectDir\artifacts</artifactDirectory>
...
</project>

默认的合并操作是将指定的文件与工件目录中的result.xml相结合。 “复制”合并操作将指定的文件复制到 artifactdirectory \ Build 文件夹中。

您在<file>...</file>标记中指定的文件是文件,该文件将被复制到工件文件夹中。

答案 1 :(得分:0)

<merge>发布商在构建报告中包含现有文件。如果要更改生成文件的位置,则需要更改任务配置(即在实际调用TestComplete的位置)。