【发布时间】:2010-11-02 20:50:03
【问题描述】:
我们有一个非常大的遗留系统,它是使用复杂的批处理文件构建的。我们的 CruiseControl.NET 服务器只需调用批处理文件并检查返回代码,它工作正常并生成成功的构建。
但是,有时批处理文件在构建成功后似乎没有正确返回,CruiseControl.NET 只是遇到超时并报告构建失败。
有什么方法可以让 CruiseControl.NET 检查批处理文件的输出中是否存在指示构建成功的字符串,并正确报告构建状态?
(当我有一两天空闲时,我想使用 NAnt 或其他东西重写构建脚本,但由于它非常复杂,因此没有得到高优先级,而且它目前正在工作)
编辑:这是 ccnet.config 中的条目
<project name="MyProject" queue="Q1" queuePriority="1">
<workingDirectory>D:\MyProject</workingDirectory>
<triggers />
<tasks>
<exec>
<executable>buildexe.bat</executable>
<baseDirectory>D:\MyProject</baseDirectory>
<buildArgs>V12.8 MyProject</buildArgs>
<buildTimeoutSeconds>6000</buildTimeoutSeconds>
<successExitCodes>0</successExitCodes>
</exec>
</tasks>
<publishers>
<xmllogger logDir="D:\MyProject\logs\V12.8" />
</publishers>
</project>
【问题讨论】: