はじめに
Visual Studio 2005 Team System(VSTS)によって、Visual Studioのターゲットは開発者の枠を飛び越えることになりました。VSTSはプロジェクトマネージャーからテスターまでを包括的にカバーし、チーム開発を強力に支援する製品としてリリースされましたが、まだまだ浸透していないように思います。以前、Team Foundation Server(以下、TFS)の機能についてはTFSで行うチーム開発、プロジェクトマネジメントで紹介しましたが、実際どうやって使おうかと悩む方も多いのではないでしょうか。そこで今回は、TFSによるチームビルドの具体的な使用方法について紹介します。
対象読者
- Visual Studio 2005 Team Systemに興味がある方
- Team Foundation Serverに興味がある方
必要な環境と準備
- Team Foundation Server
- Visual Studio 2005 Team Systemのいずれかのエディション
- Team Explorer
TFS及びTeam Exploereのインストール方法については『Team Foundation Server超簡単インストール』を参照してください。前回までの記事をご覧いただいており、環境構築が済んでいる場合には、特に作業の必要はありません。
Visual Studio 2005 Team Systemについてですが、本稿執筆の時点でVSTS 2005の評価版がダウンロードできなくなっています。今回新たにVSTS環境を構築する場合には、Visual Studio 2008 Team Suite 90 日間評価版およびVisual Studio Team System 2008 Team Foundation Server 90 日間限定評価版をダウンロードの上、それぞれ利用してください。ただし、GUIなどに違いがあるため、記事の内容をすべてそのまま確認できるわけではないことにご注意ください。
チームビルドってなんだ?
チームビルドとはどんなビルドなのか? と疑問を抱く方もいると思います。チームビルドは別名や通称ではBig Build(ビックビルド)やDaily Build(デイリービルド)とも呼ばれる機能です。
余談ですが、TFSのインストールCDからチームビルドをインストールする場合、betaではフォルダ名が「bb」となっていました。おそらくBig Buildの略でしょう。
さて、この機能は、TFSのソースコード管理下に登録されているソリューションをビルドする機能です。ビルドの実行時には、ビルドに必要な最新のソースコードなどのファイル群を取得してビルドが行われるため、常に最新のソースコードに基づくビルドを行うことができます。なお、TFSのソースコード管理ってなんだろう? という方は『Team Foundation Serverでソースコード管理を効率化』をご覧ください。
最新のソースコードに基づくビルドを行うだけならば、.NET Framework SDKに用意されているMSBuildに基づくスクリプトを作成したり、N*(エヌアスター)と呼ばれるオープンソースツール群のCruiseControl.NETを利用すれば十分という方もいるかもしれません。しかし、TFSの機能であるチームビルドを利用することで次のような連携を簡単に盛り込むことができます。
- コード分析(VSTD)
- 単体テスト(VSTT)
- 作業項目「バグ」の自動生成
- ビルドレポートの作成
それでは早速、チームビルドを試してみましょう。
まずは下準備をしよう
では早速やってみましょう! と言いたいところですが、事前に設定しておかなければならない項目がいくつかあります。簡単にできますので、まずは設定を行ってしまいましょう。
ビルドサーバーをインストールしよう
チームビルド機能を利用するにはビルドサーバーをインストールしなければなりません。インストールはTFSをインストールしている端末はもちろんのこと、クライアント端末にもインストールすることができます(ただし、Active Directoryドメインコントローラーになっているサーバーにはインストールできないといった多少の制約はあります)。
インストールを行うには、「チームビルドってなんだ?」でも述べたようにTFSのインストールCDから「build」というフォルダを展開してください。次に「setup.exe」を実行して後はウィザードに従います。途中でチームビルドを実行するアカウントを決定するためにユーザー名とパスワードの入力をもとめられます。TFSのインストールマニュアルでは、TFS実行用、TFSのレポートサービス実行用と作成したようにチームビルド用にも専用のアカウントを作成することが推奨されています。しかし、専用のユーザーアカウントを用意しなくても例えば、TFS実行用のユーザーアカウントでも特に問題はありません。
また、のちに説明するBVT(Build Verification Test)などを実行するには、これらを実行可能な製品があらかじめインストールされている必要があります。表1に対応を示しますのでこれを参考にインストールを行ってください。
機能 | 対応製品 |
静的コード分析 | VSTDまたはTeam Suite |
単体テスト | VSTDまたはTeam Suite |
Webテスト | VSTTまたはTeam Suite |
負荷テスト | VSTTまたはTeam Suite |
ソースコードを登録しよう
チームビルドを利用するには、冒頭でも説明したようにソリューションがTFSのソースコード管理下に登録されている必要があります。サンプルのソリューションとして、記事添付の「CodeZineSample-TeamBuild.zip」というファイルを用意しましたので、適当なものがない場合はこちらをダウンロードして利用してください。なお、このサンプルには簡単なWindowsアプリケーションと単体テストコード、テストリストなどが含まれています。VSTTまたはTeam Suite以外ではエラーになってしまいますので注意してください。
ソリューションをTFSのソースコード管理に登録するにはいくつかの手順を踏む必要がありますが、そちらについては『Team Foundation Serverでソースコード管理を効率化』を参考にしてください。
権限を設定しよう
チームビルドを行うには、チームビルド専用の権限が必要です。とりあえずTFSのセットアップに利用したユーザーで……と言わず、チームビルドの権限の割り振りを行ってみましょう。設定の手順はソースコード管理の時と同様に、「ユーザーの追加→規定のグループへの登録」という手順になります。まずユーザーをActive Directory構成であればActive Directoryに、Workgroup構成であればWorkgroupに作成してください。次に以下の手順で「Project Build Services」にユーザーを追加します
- 「チームエクスプローラー」でチームプロジェクトを右クリックし、[チームプロジェクトの設定]-[グループメンバシップ]を選択
- 「グループ」内にProject Administrators、Project Contributors、Project Readers、Project Build Servicesが表示されるので、[Project Build Services]を選択し、[プロパティ]を選択
- 「Team Foundation Server グループ プロパティ」画面の[メンバー]タブを開き、「メンバーの追加」 内の [Windows ユーザーまたはグループ]を選択して[追加]
- 「ユーザーまたはグループの選択」画面の 「選択するオブジェクト名を入力してください」 で、追加するユーザーを入力するか、「詳細設定」からユーザーを検索して[OK]
チームビルド結果の格納場所を作ろう
チームビルドを行うには、ビルドを行う端末とビルド結果を格納するファイルサーバーにフォルダを作成しておく必要があります。まず、ビルドを行う端末には、ソースコードの取得やビルド結果の一時的な格納場所となるフォルダを作成します。フォルダ位置は自由に設定できるため、任意の場所で問題ありません。次に、ファイルサーバーに共有フォルダを作成します。ここでは、ファイルサーバーという表現を利用していますが、TFSサーバーそのものやビルドを行う端末などどんな端末にでも設定しておくことができます。
注意点は、ビルドを行う端末からビルドを行っているユーザーアカウントでアクセス可能であることのみです。必要な場合には、ビルドを実行するユーザーアカウントでアクセス可能なように共有フォルダのアクセス許可を追加してください。
以上で、ビルドを実行するための準備は完了です。