tsucchi’s diary(元はてなダイアリー)

はてなダイアリー(d.hatena.ne.jp/tsucchi1022)から移行したものです

CruiseControl.NET

CruiseControl.NET を導入してみた。「CruiseControl の常時結合で、Agile な開発!」とか壮大なことを考えていたわけではないです。つーか基本的に一人開発だし。単に「svn add 忘れを防止したいなぁ」、というそれだけ。

なので、ccnet.config も超単純。基本的にはリポジトリを持ってきて、ビルドして、NUnit 流すだけ。

とはいえ、そのまま出すわけにはいかない(プロジェクト名とか漏れるとあんま良くない...と思う)ので、ちょっと改変してさらします。

<cruisecontrol>
  <!-- This is your CruiseControl.NET Server Configuration file. Add your projects below! -->

  <project name="Project1" >
    <sourcecontrol type="svn">
      <executable>C:\TracLight\subversion\bin\svn.exe</executable>
      <trunkUrl>http://localhost/svn/Project1/PROJECT1/trunk/</trunkUrl>
      <workingDirectory>c:\dev\ccnet\Project1</workingDirectory>
      <username>admin</username>
      <password>admin</password>
      <autoGetSource>true</autoGetSource>
    </sourcecontrol>
    <tasks>
      <devenv solutionfile="c:\dev\ccnet\Project1\PROJECT1.sln" configuration="debug" />
      <nunit path="C:\Program Files\NUnit 2.4.7\bin\nunit-console.exe">
        <assemblies>
          <assembly>c:\dev\ccnet\Project1\Project1Test\bin\Release\Project1Test.dll</assembly>
          <assembly>c:\dev\ccnet\Project1\Project1UtilTest\bin\Release\Project1UtilTest.dll</assembly>
        </assemblies>
      </nunit>
    </tasks>
  </project>


  <project name="Project2" >
    <sourcecontrol type="svn">
      <executable>C:\TracLight\subversion\bin\svn.exe</executable>
      <trunkUrl>http://localhost/svn/Project2/project_2/trunk/</trunkUrl>
      <workingDirectory>c:\dev\ccnet\Project2</workingDirectory>
      <username>admin</username>
      <password>admin</password>
      <autoGetSource>true</autoGetSource>
    </sourcecontrol>
    <tasks>
      <devenv solutionfile="c:\dev\ccnet\Project2\project_2.sln" configuration="debug" />
      <nunit path="C:\Program Files\NUnit 2.4.7\bin\nunit-console.exe">
        <assemblies>
          <assembly>c:\dev\ccnet\Project2\project_2_test\bin\Release\project_2_test.dll</assembly>
        </assemblies>
      </nunit>
    </tasks>
  </project>
</cruisecontrol>

なんか重複が多いのが気に食わないのだけど、マニュアルをちょっと読んだくらいではこの重複をなくす方法が良くわからなかった。