1

我正在设置一个构建系统,并希望在仪表板的“项目报告”部分和构建失败电子邮件中显示哪个任务使构建失败。

目前我有三个任务:

  • 源代码控制
  • 构建
  • 单元测试(使用 CC.Net exec 任务中的 gallio.echo)

如果后两者中的任何一个失败,则从电子邮件或构建报告页面中无法明显看出哪个任务使构建失败。我需要通过日志找出错误发生的位置。我想至少从第一眼就知道什么任务失败了。

这是最好的 CruiseControl - 在仪表板主页中:

msbuild 失败 http://img38.imageshack.us/img38/1018/msbuildfail.png 替代文本 http://img25.imageshack.us/img25/4688/galliofail.png

现在,这还不够:

  1. 当您单击项目或该构建的构建报告时,失败的任务不可见。

  2. 此信息在日志文件中根本不可用。这意味着我无法通过破解 XSL 将其放入电子邮件中。

  3. 由于我的构建任务将是唯一的 MSBuild 任务,因此可以将其称为 MSBuildTask。可执行任务不是这种情况,因为我至少还有另外一两个可能会失败。我需要给他们起描述性的名字。我的 Gallioexec任务有描述节点,但我不确定它在哪里使用。

    <exec>
    <description>Unit Tests</description>
    <executable>$(path.gallio)</executable>
    </exec>

4

3 回答 3

3

我是ccnet的开发者之一。问题已记录。 http://jira.public.thoughtworks.org/browse/CCNET-1825

于 2010-02-22T07:33:34.507 回答
1

这不是一个优雅的解决方案,但您可以使用目标上的 OnError 属性来记录某些内容,即使它必须是静态的。另一种选择是记录每个成功的步骤,然后使用 XSL last() 来获取最后一个成功的步骤。这很糟糕,但至少比以前更多。

于 2010-02-18T20:27:56.097 回答
0

在我看来,您没有合并 MSBuild 和 Gallio 任务的输出。我不记得我脑海中的正确语法(并且 CruiseControl.NET 网站似乎已关闭),但如果您发布配置文件,我可能会为您提供帮助。

于 2010-02-09T12:07:30.447 回答