5

我已经使用 CruiseControl.Net 设置了一个持续集成环境。我想知道在构建失败时如何向某人发送电子邮件。

提前致谢。

4

1 回答 1

10

你可以<email>在你的块中使用一个<publishers>块。

我们的系统如下所示:

<publishers>
  <xmllogger />

  <email from="cruise@ourcompany.com"   mailhost="mail.ourcompany.com" includeDetails="TRUE"  mailport="25" useSSL="FALSE">
    <users>
      <user name="Mr Happy" group="buildmaster" address="mrhappy@ourcompany.com" />
      <user name="Mr Strong" group="buildmaster"   address="mrstrong@ourcompany.com" />
    </users>
    <groups>
      <group name="buildmaster" notification="change" />
    </groups>
    <converters>
      <regexConverter find="$" replace="@ourcompany.com" />
    </converters>
    <modifierNotificationTypes>
      <NotificationType>Failed</NotificationType>
      <NotificationType>Fixed</NotificationType>
    </modifierNotificationTypes>
  </email>
</publishers>

注意,我们使用<svn>源代码控制块来获取最新的源代码并触发构建。该<regexConverter>部分获取 svn 用户并在末尾添加“@ourcompany.com”以形成一个电子邮件地址。

您将需要 SMTP 服务器的详细信息来发送电子邮件。我相信可以为此使用 gmail,但我们公司有自己的 SMTP 服务器。

有了这个系统,每当构建状态发生变化时,“构建大师”(Happy 先生和 Strong 先生)都会收到一封电子邮件,而任何将代码提交到 SVN 的人都会在他们的代码导致的构建失败或修复时收到一封电子邮件。

<xmllogger/>部分是必需的,因为默认情况下(如果您没有<publishers>部分),有一个 XML 记录器发布者。这会记录 Web 界面的信息。

于 2010-12-07T09:59:48.880 回答