如何配置cruiseControl以在构建失败时发送包含错误日志的电子邮件?我已经得到它在构建失败时向用户发送电子邮件,但它不包括导致构建失败的实际错误。我知道如果我只将其配置为向已经修改的用户发送电子邮件,则错误日志将包含在这些电子邮件中。这是我的样本:
<出版商>
< RSS />
< xmllogger />
<发送电子邮件至=“abc@abc.com”mailhost =“abc.abc.com”includeDetails =“TRUE”>
<用户>
< user name =“Joe”group =“devs”address =“joe@abc.com”/>
< user name =“Jim”group =“devs”address =“jim@abc.com”/>
< /用户>
<组>
< group name =“devs”notification =“Failed”/>
< /组>
< /电子邮件>
< /出版者>
答案 0 :(得分:2)
您可以检查\ 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>
答案 1 :(得分:1)
您的电子邮件发布者将使用buildlog.xml并根据您使用的控制台或服务配置中的任何XSL进行转换。电子邮件的内容应该没有区别,无论您将其配置为发送给谁以及何时发送。只要您在电子邮件发布者和发布商部分中的电子邮件之前进行合并即可。我不知道它有什么不同你确定同样的失败会产生不同的电子邮件吗?我的猜测是你在某个地方失败并且构建日志不是单向生成的。
答案 2 :(得分:0)
生成构建日志。我可以看到错误。它只是没有包含在电子邮件中。