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でプロジェクトを作成します。
- Trac Lightning 側でプロジェクトを作成します。(create-project.bat)
プロジェクトを作成するとプロジェクト用のTracページとSubversionのリポジトリ(e.g http://servername/svn/projectname)を作成してくれます。 - 作成された Tracページにアクセスし、ユーザを新規に作成します。(Register)
コミットを行うユーザに加えて、TeamCity用のアカウントも作成します。
後は個々にTracLigtningをカスタマイズしてください
TeamCityの設定
続いてTramCityの設定を行っていきます。
- TeamCityに初めてログインするとAdministratorユーザの作成を求められるので、指示に従って作成します。
- プロジェクトを新規に作成し、プロジェクト名と概要をつけます。
- プロジェクトに関連するビルドを作成(Create build configuration)します。(先ほどの上限20はコレです)ビルド名をつけて、ビルドの概要を記述します。後は必要に応じて設定します。
- VCSの設定を行います。TracLightningと連動させる場合には、Type of VCS に「Subversion」を選び、URLに先ほどのリポジトリを選択します。
- TeamCity自身がリポジトリに対して操作をするため、先ほどTracLigthingで作成したTeamCity用のユーザ名とパスワードを設定します。
- 「Test connection」ボタンを押下して確認します。successといわれない場合は、設定を再度確認してください。設定が完了したら、「Save」ボタンを押下します。
- TeamCityはビルドを行うために一端ローカルにチェックアウトします。「Checkout directory」にチェックアウト先のフォルダを設定します。
- 「Save」ボタンを押下して、設定を保存します。
これで、リポジトリからチェックアウトするまでの設定が完了しました。
続いて、実際にビルド実行(Runner)を設定します。
- Build Runnerに「sln2008」を選択。(Visaul Studio 2008のソリューションをビルドする場合)
- Solution file Path にソリューションのパスを設定します。
(チェックアウト先フォルダを示す環境変数「 %teamcity.build.checkoutDir%」が便利です) - MSTest(Visual Studio 2008 Professional以降に付属のテスト機能)を実行する場合は、「Run MSTests」にチェックします。
- 「Path to MSTest.exe」に「%system.MSTest.9.0%」を設定します。
(下部にあるリンクをクリックすると自動的に設定されます) - 「MSTest assemblies」の「List assembly files」にテスト用のアセンブリを設定します。
- 「Save」ボタンを押下して設定を保存します。
設定したビルドの実行条件(トリガ)を設定します。
チェックインが行われた場合に都度実行する場合、VCS Trigers タブの「Enable triggering when files are checked into VCS」にチェックします。
(定期的な実行を行う場合は、Scheduleタブから設定します)
以上でおおまかな設定は完了です。
作成したリポジトリに対してソースコードをチェックインすると、自動的にビルドを行いテストを実行してくれます。
コメントはまだありません。