Trac Lightning + TeamCity ではじめる継続的インテグレーション(CI)開発

GWを利用して JetBrainsのTeamCity 4.5を自宅サーバーに導入してみました。
.NET 向けのCIには、CruiseControl.NET が有名ですが、日本語などの解説サイトがある利点があるものの、TeamCityと比較するとやや設定が面倒な印象があったので、こちらを選択。

なお、CIをどちらにするかお悩みの方の為に、個人的な比較を書きます。

  • CruiseControl.NET
    • オープンソース
    • XP開発で有名な「ThoughtWorks」社が作成
    • 設定ファイルはXMLで記述(テンプレートは付属)
    • ちらほら日本語での技術情報がある(公式ではない)
  • TeamCity
    • 一定条件下で無料
    • ReSharperや、InteliJの「JetBrains」社が販売
    • ほぼWeb上で設定可能(Antを使用する場合は、当然XMLで別途記述)
    • 日本語での情報が少ない

TeamCityは、ユーザ数20名以内、ビルド設定を20以内を条件に無料で使用することができます。その数を超えると $1999 で有償になりますが、大規模なアプリケーション開発でない限り、この条件には適用されないと思います。
数人で開発していて、私のように「めんどくさい設定なんてゴメンだっ!」という方にはTeamCityがいいのではないでしょうか。

 以下に、インストールと設定の手順を示します。

事前準備とインストール

まず、以下のソフトウェアを準備します。

  • Windows Server 2003 R2
  • VisualStudio 2008 SP1 (ビルドするVSバージョンと一致させること)
  • Trac Lightning (2.2.4)
  • TeamCity (4.5.1)
  • ちょっとぐらいのトラブルでもへこたれない根気とコーヒー

WindowsServerには、何も役割を持たせていないので、それこそWindowsXPでも良いのですが、安定稼働にはWindowsServerじゃなくちゃね!、ということで ;-p
(私はこれをHyper-V上で運用)

準備ができたら、順番にインストールします。
TracLightning も TeamCity もインストールを次々と実行していけば、問題なくインストールできます。
なお、Trac Lightning と TeamCity のポート番号がかぶらないようにしてください。
Trac Lightning側のポート番号変更は、インストーラ上ではできないので、私はTeamCity側のポート番号を変更しました。(49152以降の番号を適当に割り当て :-)

 

Trac Lightningの設定

最初にTrac Lightningでプロジェクトを作成します。

  1. Trac Lightning 側でプロジェクトを作成します。(create-project.bat)
    プロジェクトを作成するとプロジェクト用のTracページとSubversionのリポジトリ(e.g http://servername/svn/projectname)を作成してくれます。
  2. 作成された Tracページにアクセスし、ユーザを新規に作成します。(Register)
    コミットを行うユーザに加えて、TeamCity用のアカウントも作成します。

後は個々にTracLigtningをカスタマイズしてください :-)

 

TeamCityの設定

 続いてTramCityの設定を行っていきます。

  1.  TeamCityに初めてログインするとAdministratorユーザの作成を求められるので、指示に従って作成します。
  2.  プロジェクトを新規に作成し、プロジェクト名と概要をつけます。
  3. プロジェクトに関連するビルドを作成(Create build configuration)します。(先ほどの上限20はコレです)ビルド名をつけて、ビルドの概要を記述します。後は必要に応じて設定します。
  4. VCSの設定を行います。TracLightningと連動させる場合には、Type of VCS に「Subversion」を選び、URLに先ほどのリポジトリを選択します。
  5.  TeamCity自身がリポジトリに対して操作をするため、先ほどTracLigthingで作成したTeamCity用のユーザ名とパスワードを設定します。
  6.   「Test connection」ボタンを押下して確認します。successといわれない場合は、設定を再度確認してください。設定が完了したら、「Save」ボタンを押下します。
  7. TeamCityはビルドを行うために一端ローカルにチェックアウトします。「Checkout directory」にチェックアウト先のフォルダを設定します。
  8. 「Save」ボタンを押下して、設定を保存します。

これで、リポジトリからチェックアウトするまでの設定が完了しました。
続いて、実際にビルド実行(Runner)を設定します。

  1. Build Runnerに「sln2008」を選択。(Visaul Studio 2008のソリューションをビルドする場合)
  2. Solution file Path にソリューションのパスを設定します。
    (チェックアウト先フォルダを示す環境変数「 %teamcity.build.checkoutDir%」が便利です)
  3. MSTest(Visual Studio 2008 Professional以降に付属のテスト機能)を実行する場合は、「Run MSTests」にチェックします。
  4. 「Path to MSTest.exe」に「%system.MSTest.9.0%」を設定します。
    (下部にあるリンクをクリックすると自動的に設定されます)
  5. 「MSTest assemblies」の「List assembly files」にテスト用のアセンブリを設定します。
  6. 「Save」ボタンを押下して設定を保存します。

設定したビルドの実行条件(トリガ)を設定します。

チェックインが行われた場合に都度実行する場合、VCS Trigers タブの「Enable triggering when files are checked into VCS」にチェックします。
(定期的な実行を行う場合は、Scheduleタブから設定します)

以上でおおまかな設定は完了です。
作成したリポジトリに対してソースコードをチェックインすると、自動的にビルドを行いテストを実行してくれます。

  1. コメントはまだありません。

  1. トラックバックはまだありません。