Cruise Control.NETでビルド結果のEメール通知

今日は久しぶりにCCNET(Cruise Control.NET)ネタです。
ccnet.configファイル内にEメール通知を行うように記述できます。その注意点をまとめておきます。

ccnet.configの例

<?xml version="1.0" encoding="Shift_JIS" ?>
<cruisecontrol>
  <project name="プロジェクト名" publishExceptions="true" >
    <!-- 途中省略 -->

    <publishers>
      <xmllogger />
      <email from="メールアドレス" mailhost="ホスト名" includeDetails="true">
        <users>
          <user name="名前" group="Developers" address="メールアドレス" />
        </users>
        <groups>
          <group name="Developers" notification="always" />
        </groups>
      </email>
    </publishers>
  </project>
</cruisecontrol>

で、メール通知の設定を行う上で参考になるのが、公式サイト上のドキュメント。

http://confluence.public.thoughtworks.org/display/CCNET/Email+Publisher

...が、このページに一部間違ってる記述がありました。

  • user/@group属性
  • groups要素

は必須のようです。
これらの記述がないとCCNETのサービス自体起動できないのでご注意を。

それと、publishers要素の中に、Xml Log Publisherの設定を記述することもをお忘れなく。logDir属性は記述しなくても大丈夫です、下記みたいな感じで。

<xmllogger />

このXml Log Publisherの設定が無いとメール通知だけ実行され、CCNETのログファイルが生成されなくなります。ログファイル作成されないとWebダッシュボードを参照した際に例外が発生します。

思いのほかはまりました、ヤレヤレ。