Уведомление по электронной почте при сбое сборки в CruiseControl.Net - PullRequest
5 голосов
/ 07 декабря 2010

Я настроил среду непрерывной интеграции, используя CruiseControl.Net.Я хочу знать, как можно отправить электронное письмо человеку во время сбоя сборки.

Заранее спасибо.

1 Ответ

10 голосов
/ 07 декабря 2010

Вы можете использовать блок <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-сервер.

В этой системе «мастера сборки» (Мистер Хэппи и Мистер Стронг) будут получать электронное письмо при каждом изменении статуса сборки, а любой, кто внес код в SVN, получит электронное письмо, когда сборка, вызванная кодом, приведет к ошибке или неподвижная.

Раздел <xmllogger/> необходим, так как по умолчанию (если у вас нет раздела <publishers>), существует издатель XML-регистратора. Это регистрирует информацию для веб-интерфейса.

...