【发布时间】:2008-10-24 20:07:12
【问题描述】:
如何配置 CruiseControl 以在构建失败时发送包含错误日志的电子邮件?我已经让它在构建失败时向用户发送电子邮件,但它不包括导致构建失败的实际错误。我知道,如果我仅将其配置为向已进行修改的用户发送电子邮件,则错误日志将包含在这些电子邮件中。这是我所拥有的样本:
用户>
电子邮件>
发布者>
【问题讨论】:
-
您的 Web 仪表板是否显示您在电子邮件中发现的错误?
如何配置 CruiseControl 以在构建失败时发送包含错误日志的电子邮件?我已经让它在构建失败时向用户发送电子邮件,但它不包括导致构建失败的实际错误。我知道,如果我仅将其配置为向已进行修改的用户发送电子邮件,则错误日志将包含在这些电子邮件中。这是我所拥有的样本:
用户>
电子邮件>
发布者>
【问题讨论】:
您可以检查 \cruisecontrol.net\server\xsl\compile.xsl 是否与 \cruisecontrol.net\webdashboard\xsl\compile.xsl 相同。
Compile.xsl 是用于打印错误日志中的错误消息的默认文件。 \webdashboard\ 中的一个用于 Web 仪表板(顾名思义),\server\ 下的一个用于电子邮件。
您还可以检查 ccnet.exe.config 是否使用 \cruisecontrol.net\server\xsl\compile.xsl 用于电子邮件。
我的例如指向 \server 上的 compile.xsl:
<!-- Specifies the stylesheets that are used to transform the build results when using the EmailPublisher -->
<xslFiles>
<file name="xsl\header.xsl" />
<file name="xsl\compile.xsl" />
<file name="xsl\unittests.xsl" />
<file name="xsl\fit.xsl" />
<file name="xsl\modifications.xsl" />
<file name="xsl\fxcop-summary.xsl" />
</xslFiles>
【讨论】:
您的电子邮件发布者将获取 buildlog.xml 并根据您使用的控制台或服务配置中配置的任何 XSL 对其进行转换。无论您将其配置为发送给谁以及何时发送,电子邮件的内容都应该没有区别。只要您在电子邮件发布者和发布者部分中的电子邮件之前进行合并。我看不出有什么不同你确定同样的失败会产生不同的电子邮件吗?我的猜测是你在某个糟糕的地方失败了,并且构建日志不是以一种方式生成的。
【讨论】:
正在生成构建日志。我可以看到错误。它只是没有包含在电子邮件中。
【讨论】: