酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

CruiseControl.NET version 1.5 を使った.NET Framework アプリケーションの自動ビルド環境のインストールと構築(リポジトリがSVN編)

前回から頑張って、色々と弄っていたのですが、ようやく自動ビルドが出来るようになりました。ここから自動でユニットテストやデプロイを行なえるようにしたいですね。

それでも、まぁ自動ビルドが出来るようになったのでメモを残しておきます。

必要なもの

  • PC(今回は余っていたWindows XPマシンを使用)
  • CruiseControl.NET(今回はversion 1.5を使用)
  • Slik SVN(今回は1.6.11を使用)

Slik SVNのインストール

C:\Program Files\SlikSvn

にインストールします。

CruiseControl.NETのインストール

C:\Program Files\CruiseControl.NET\

にインストールします。

ccnet.configの変更

インストールが完了したらCruiseControl.NETの設定ファイルを変更していきます。以下のフォルダにCruiseControl.NETの設定ファイルが格納されています。

C:\Program Files\CruiseControl.NET\server\ccnet.config

エディタか何かで開いて頂き、編集を行なっていきます。昔使った時には必要なかったのですが、1.5用にXML名前空間を追加する必要があります(参照:CruiseControl.NETのバージョン1.5を使うと動かない問題 - 酢ろぐ!)。

<cruisecontrol xmlns:cb="urn:ccnet.config.builder" xmlns="http://thoughtworks.org/ccnet/1/5">

  <project>
    <name>【PROJECTX】[自動ビルド]</name>

    <!-- 自動ビルドの動くトリガー(今は60秒置き) -->
    <triggers>
    	<intervalTrigger seconds="60"/>
    </triggers>

    <!-- 作業用フォルダの設定 -->
    <workingDirectory>C:\ccnet\work_PROJECTX</workingDirectory>
    <artifactDirectory>c:\ccnet</artifactDirectory>

    <!-- リポジトリの設定 -->
    <sourcecontrol type="svn">
      <executable>C:\Program Files\SlikSvn\bin\svn.exe</executable>
      <trunkUrl>http://server:8080/svn/PROJECTX/dev/trunk/</trunkUrl>
      <workingDirectory>c:\ccnet\work_PROJECTX</workingDirectory>
      <username>myusername</username>
      <password>mypassword</password>
      <autoGetSource>true</autoGetSource>
    </sourcecontrol>

    <tasks>
      <!-- VS2005を使ってビルドさせる -->
      <devenv>
        <solutionfile>C:\ccnet\work_PROJECTX\PROJECTX\PROJECTX.sln</solutionfile>
        <configuration>debug</configuration>
        <executable>C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com</executable>
      </devenv>
    </tasks>

    <publishers>

      <!-- ビルド後の結果をメールで投げる -->
      <email includeDetails="TRUE">

        <!-- メールサーバーの応答 -->
        <from>build_PROJECTX@ch3cooh.jp</from>
        <mailhost>smtp.server</mailhost>
        <mailport>587</mailport>
        <mailhostUsername>myusername</mailhostUsername>
        <mailhostPassword>mypassword</mailhostPassword>

        <!-- ビルドメールの通知先 -->
        <users>
          <user name="Kenji Wada" group="developers">
            <address>k-wada@ch3cooh.jp</address>
          </user>
        </users>
        <groups>
          <group name="developers">
            <notifications>
              <reportsuccess>always</reportsuccess>
            </notifications>
          </group>
        </groups>
      </email>

    </publishers>

  </project>

</cruisecontrol>

これでいけるはず。CruiseControl.NETが送信しているメールって、どこを弄れば文章を変更する事が出来るんだろう……