CruiseControl.NET 設定サンプル メモ


# 設定サンプル内の XML コメントが消えちゃってる場合は、こちらのリンクをクリック!

<cruisecontrol>
    <project>
        <!-- プロジェクト名 -->
        <name>CITest</name>
        <!-- 作業ディレクトリ -->
        <workingDirectory>D:\Projects\CITest\Work</workingDirectory>
        <!-- 出力ディレクトリ -->
        <artifactDirectory>D:\Projects\CITest\Artifacts</artifactDirectory>
        <!-- 状態管理ディレクトリ -->
        <state type="state" directory="D:\Projects\CITest\State" />
        <!-- トリガー -->
        <triggers>
            <!-- インターバル -->
            <intervalTrigger seconds="60"/>
            <!-- スケジュール -->
            <scheduleTrigger>
                <!-- 条件 (ForceBuild:必ず, IfModificationExists:変更がある場合) -->
                <buildCondition>ForceBuild</buildCondition>
                <!-- 時刻 -->
                <time>00:00:00</time>
                <!-- 曜日 -->
                <weekDays>
                    <weekDay>Sunday</weekDay>
                </weekDays>
            </scheduleTrigger>
        </triggers>
        <!-- ソース管理システム -->
        <sourcecontrol type="vss" autoGetSource="true">
            <!-- 対象プロジェクト -->
            <project>$/CITest.root</project>
            <!-- ログインユーザー名 -->
            <username>admin</username>
            <!-- ソース管理ディレクトリ -->
            <ssdir>D:\Projects\CITest\VSS</ssdir>
            <!-- ソース取得先ディレクトリ -->
            <workingDirectory>D:\Projects\CITest\work</workingDirectory>
            <!-- カルチャ -->
            <culture>ja-JP</culture>
        </sourcecontrol>
        <!-- タスク -->
        <tasks>
            <!-- MSBuild -->
            <msbuild>
                <!-- MSBuild 実行ファイル -->
                <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
                <!-- 作業ディレクトリ -->
                <workingDirectory>D:\Projects\CITest\work</workingDirectory>
                <!-- プロジェクトファイル -->
                <projectFile>D:\Projects\CITest\work\CITest\CITest.sln</projectFile>
                <!-- 引数 -->
                <buildArgs>/t:Rebuild /p:Configuration=Release</buildArgs>
                <!-- タイムアウト -->
                <timeout>60</timeout>
                <!-- ロガー -->
                <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
            </msbuild>
            <!-- NUnit -->
            <nunit>
                <!-- NUnit 実行ファイル -->
                <path>C:\Program Files\NUnit 2.4.6\bin\nunit-console.exe</path>
                <!-- ユニットテストライブラリ -->
                <assemblies>
                    <assembly>D:\Projects\CITest\work\CITest\CITest.Test\bin\Release\CITest.Test.dll</assembly>
                </assemblies>
            </nunit>
            <!-- Sandcastle -->
            <exec>
                <!-- Sandcastle Help File Builder 実行ファイル -->
                <executable>C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleBuilderConsole.exe</executable>
                <!-- ベースディレクトリ -->
                <baseDirectory>D:\Projects\CITest\work\CITest\Supports\Sandcastle</baseDirectory>
                <!-- プロジェクトファイル -->
                <buildArgs>.\CITest\CITest.shfb</buildArgs>
            </exec>
            <!-- PowerShell -->
            <exec>
                <!-- PowerShell 実行ファイル -->
                <executable>powershell</executable>
                <!-- 作業ディレクトリ -->
                <baseDirectory>D:\Projects\CITest\work\CITest\Supports\Script</baseDirectory>
                <!-- スクリプトファイルの指定 -->
                <buildArgs>"&amp;'.\Deploy.ps1'" -Noninteractive</buildArgs>
            </exec>
        </tasks>
    </project>
</cruisecontrol>

パスは、作業ディレクトリからの相対パス形式 (その際、.\ は含まない方がいいかも) で指定することも可能。ただし、sourcecontrol タスクの ssdir では不可っぽい (?)