我已经部署了CruiseControl.Net(版本1.6.7981.1)服务器,它执行以下任务:
由于每次运行NUnit任务之前需要清除NUnit-Result.xml文件,我在Nant.build文件中添加了删除任务,该文件在NUnit任务运行之前删除了NUnit-results.xml。
现在我的问题是当我的构建获得触发器并且如果我的TFS服务器不可访问时,构建失败并且只有发布者任务运行,因此Old Nunit结果文件在失败的构建中合并。
我尝试运行“预建”任务,但只有在可以访问TFS服务器时它才有效。
现在我想要的是删除Nunit-result.xml的任务,即使我的TFS不可访问(在soursecontrol块之前或发布者块之内/之后)也可以运行它
提前致谢
答案 0 :(得分:0)
您可以在文件合并之前添加exec任务以删除publishers部分中的文件
像这样:
<publishers>
<xmllogger />
<statistics />
<buildpublisher>
<sourceDir>$(buildDir)\_PublishedWebsites\$(projectName)</sourceDir>
<publishDir>$(webDir)</publishDir>
<useLabelSubDirectory>false</useLabelSubDirectory>
<alwaysPublish>false</alwaysPublish>
</buildpublisher>
<exec>
<executable>$(workingDir)\deleteNunitResultxml.cmd</executable>
</exec>
...
</publishers>
答案 1 :(得分:0)
在最后有一个发布者移动nunit结果文件或删除它。然后它就不会用于下一次构建。
答案 2 :(得分:0)
另一个选择是创建一个在nunit任务运行之前运行的任务,它删除nunit-result.xml文件。
E.g。执行 cmd / c“del NUnit-Result.xml”