ビルド エージェントの作成と使用

更新 : 2011 年 5 月

Team Foundation ビルド を使用するには、少なくとも 1 つのビルド エージェントが必要です。 ビルド エージェントは、ビルドの中でも特にプロセッサ集中型の処理を行います。これには、バージョン管理からのファイルの取得、ワークスペースのプロビジョニング、コードのコンパイル、テストの実行、およびバージョン管理へのファイルのマージが含まれます。 各ビルド エージェントは、1 つのビルド コントローラー専用になり、そのコントローラーによって制御されます。

開始前の作業

  • ビルド システム内でのビルド エージェントの役割、およびビルド エージェントの他の使用方法を理解しておく必要があります。 詳細については、「Team Foundation ビルド システムについて」を参照してください。

  • ビルド エージェントはビルド コンピューターでホストされます。 したがって、ビルド エージェントを作成して使用するには、先にビルド コンピューターを構成する必要があります。 各ビルド コンピューターでは 1 つ以上のビルド エージェントをホストできます。 詳細については、「ビルド コンピューターの構成」を参照してください。

このトピックの内容

  • 必要なアクセス許可

  • ビルド エージェントの作成

  • ビルド エージェントの変更

  • [ビルド エージェントのプロパティ] ダイアログ ボックス

    • "作業ディレクトリ" プロパティの詳細
  • ビルド エージェントを使用してテストを実行する

  • 追加ソフトウェアのインストール

    • コードのコンパイルに必要なソフトウェアのインストール

    • その他のタスクの実行に必要なソフトウェアのインストール

  • ビルド エージェントへのタグの割り当て

  • ビルド エージェントの削除

必要なアクセス許可

この手順を実行するには、ビルド コンピューターの Administrators グループのメンバーであり、[ビルド リソースの管理] アクセス許可が [許可] に設定されている必要があります。 詳細については、「Team Foundation Server のアクセス許可」を参照してください。

ビルド エージェントの作成

ビルド エージェントを作成するには

  1. ビルド エージェントを作成するビルド コンピューターにログオンします。

  2. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Team Foundation Server 2010] をポイントし、[Team Foundation 管理コンソール] をクリックします。

    Team Foundation 管理コンソールが表示されます。

  3. ツリー ペインでサーバーの名前を展開し、[Team Foundation ビルド] ノードをクリックします。

    ビルド コンピューターに関する情報がコンテンツ ペインに表示されます。

    "ビルド サービスが…に対して構成されています" というメッセージが表示されない場合は、「ビルド コンピューターの構成」を参照してください。

  4. [新規エージェント] をクリックします。

    [ビルド エージェントのプロパティ] ダイアログ ボックスが表示されます。 詳細については、このトピックで後述する「[ビルド エージェントのプロパティ] ダイアログ ボックス」を参照してください。

  5. エージェントのプロパティの変更が終了したら、[OK] をクリックします。

  6. ビルド エージェントの名前のすぐ下に [開始] リンクが表示されたら、それをクリックします。

ビルド エージェントの変更

ビルド エージェントの変更は、クライアント コンピューターから、またはビルド エージェントをホストしているビルド コンピューター上で直接行うことができます。

クライアント コンピューターからビルド エージェントを変更するには

  1. Visual Studio で、[ビルド] メニューの [ビルド コントローラーの管理] をクリックします。

    [ビルド コントローラーの管理] ダイアログ ボックスが表示されます。

  2. 変更するビルド エージェントをクリックし、[プロパティ] をクリックします。

    [ビルド エージェントのプロパティ] ダイアログ ボックスが表示されます。

ビルド コンピューターでビルド エージェントを変更するには

  1. 変更するビルド エージェントを実行しているビルド コンピューターにログオンします。

  2. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Team Foundation Server 2010] をポイントし、[Team Foundation 管理コンソール] をクリックします。

    Team Foundation 管理コンソールが表示されます。

  3. ツリー ペインでサーバーの名前を展開し、[Team Foundation ビルド] ノードをクリックします。

  4. 変更するビルド エージェントの名前のすぐ下にある [プロパティ] をクリックします。

    [ビルド エージェントのプロパティ] ダイアログ ボックスが表示されます。

[ビルド エージェントのプロパティ] ダイアログ ボックス

[ビルド エージェントのプロパティ] ダイアログ ボックスでは、表示名と説明およびビルド エージェントの機能に影響する他のプロパティを確認または変更できます。

[表示名][説明]

チーム メンバーがビルド エージェントを簡単に識別し、ビルド エージェントについての重要な情報を得るのに役立つ、名前と説明を指定します。

コントローラー

このビルド エージェントを制御するビルド コントローラーを指定します。 ビルド コントローラーは、このビルド エージェントと同じビルド コンピューター、または別のビルド コンピューターで実行できます。

[コンピューター名]

このボックスには、このビルド エージェントをホストするビルド コンピューターの名前が表示されます。

[作業ディレクトリ]

このボックスを使用して、作業ディレクトリのパスを指定します。 詳細については、「"作業ディレクトリ" プロパティの詳細」を参照してください。

[ビルド エージェント サービスは有効]

ビルド エージェントを有効にして機能させるにはこのチェック ボックスをオンにし、ビルド エージェントを無効にしてビルドが割り当てられないようにする場合はオフにします。

ヒント

ビルド コンピューターで保守作業を行うときは常に、ビルド エージェントを無効にすることをお勧めします。

"作業ディレクトリ" プロパティの詳細

ビルド エージェントは、ファイルの読み取りまたは書き込みが必要な操作に対しては作業ディレクトリを使用します。 たとえば、ソース ファイルはこのフォルダーのサブディレクトリにコピーされ、作成されたバイナリはこのフォルダーの別のサブディレクトリに格納されます。

作業ディレクトリ トークン

"作業ディレクトリ" プロパティにはリテラル パス (たとえば c:\temp\build\) を指定できますが、トークンを使用してパスを指定する方がさらに柔軟性のある方法です。 2 種類のトークンを使用できます。

  • 環境変数: 環境変数には、システムおよびログオンしているユーザーの環境に関する情報が含まれます。

    たとえば、BuildSvcAcct というアカウントで実行するように Team Foundation ビルド サービス を構成してあるものとします。 Windows Server 2008 を実行するビルド コンピューター上のビルド エージェントに対する作業ディレクトリを $(HomeDrive)\Builds と指定します。 結果として、ビルド エージェントは、通常、C:\Builds のような物理ディレクトリを作業ディレクトリとして使用します。

    ヒント

    ビルド コンピューターで定義されている環境変数の一覧を表示するには、コマンド プロンプトを開き、「set」と入力します。

  • Team Foundation ビルド変数: ビルド エージェントの作業ディレクトリでは、次の変数を使用できます。

    • $(BuildAgentId): チーム プロジェクト コレクション内のビルド エージェントを一意に識別する、自動的に生成される整数です。

    • $(BuildAgentName): ビルド エージェントの表示名です。

    • $(BuildDefinitionId): チーム プロジェクト コレクション内のビルド定義を一意に識別する、自動的に生成される整数です。

    • $(BuildDefinitionPath): バックスラッシュで区切られたチーム プロジェクト名とビルド定義名です。

作業ディレクトリの例

たとえば、BuildBot3 という名前のビルド エージェントがあるものとします。 CoolApp という名前のチーム プロジェクトに、NightlyBuild および WeeklyBuild という 2 つのビルドを定義してあります。 [作業ディレクトリ] ボックスで、「$(SystemDrive)\TeamBuilds\$(BuildAgentName)\$(BuildDefinitionPath)」という値を指定します。 結果として、BuildBot3 ビルド エージェントは次の 2 つの作業ディレクトリを作成して使用します。

C:\TeamBuilds\BuildBot3\CoolApp\NightlyBuild

C:\ TeamBuilds\BuildBot3\CoolApp\WeeklyBuild

作業ディレクトリが長すぎないことを確認してください

指定する作業ディレクトリにより、ビルド エージェントで生成される物理パスが 259 文字を超えないようにする必要があります。 259 文字を超えると、ビルドは失敗し、"TF10128: The pathPhysicalPath contains more than the allowed 259 characters. Type or select a shorter path." というエラーがログに記録されます。 ビルド エージェントによって作成される物理パスは通常はわからないので、このエラーは意外に思えることがあります。

この問題を解決するには、物理パスが短くなるように作業ディレクトリを指定してください。 たとえば、$(HOMEDRIVE)\bld\$(BuildAgentID)\$(BuildDefinitionID) というディレクトリを指定すると、結果として生成される作業ディレクトリのパスは c:\bld\3\2\ のようになります。

作業ディレクトリで作成されるサブディレクトリ

ビルド エージェントは、このパスの下に次のサブディレクトリを作成して使用します。

サブディレクトリ

格納されるファイル

Sources

ソース ファイルなど、ビルド エージェントが読み取るファイル。 ビルド エージェントがダウンロードするファイルは、各ビルド定義のワークスペース設定で指定します。 詳細については、「ビルド ワークスペースの使用」を参照してください。

Binaries

コンパイル済みのアプリケーション ファイルなど、ビルド エージェントによってコンパイルされたファイル。

TestResults

ビルド エージェントが実行するすべてのテストで生成されたファイル。

ビルド エージェントを使用してテストを実行する

1 つまたは複数の自動化されたテスト実行を実行するビルド プロセスを設計できます。 次の表に示すように、一部のテストおひょびテスト処理では、特別な要件を満たすビルド エージェントが必要になります。

テストの種類

Visual Studio 2010 をビルド コンピューターにインストールする必要性

その他の要件および情報

コード カバレッジ

必要

なし。

コード化された UI テスト

あり

ビルド コンピューターは対話型プロセスとして実行されている必要があります。 この種類のビルド コンピューターを設定する方法の詳細については、「ビルド コンピューターの構成」を参照してください。

これらの種類のテストの詳細については、「自動 UI テストを使用したユーザー インターフェイスのテスト」を参照してください。

データベース テスト データの生成

なし

なし。

データベース単体テスト

あり

なし。

汎用テスト

なし

なし。

詳細については、「汎用テストを使用して実行可能ファイルを実行する、自動テストの作成」を参照してください。

ロード テスト

あり

なし。

詳細については、「順序指定テストを使用したテストの実行順序の設定」を参照してください。

MSTest 単体テスト

なし

なし。

順序指定テスト

なし

なし。

テスト影響分析

なし

なし。

Web テスト

あり

なし。

テストを実行するビルド プロセスの定義方法の詳細については、「ビルド システムを使用したテストの操作」を参照してください。

追加ソフトウェアのインストール

ビルド エージェントが特定のタスクを実行するために、ビルド コンピューターに追加ソフトウェアをインストールすることが必要な場合があります。

コードのコンパイルに必要なソフトウェアのインストール

ほとんどの一般的なプロジェクトの多くについては、ビルド エージェントがプロジェクトをビルドするために追加ソフトウェアは必要ありません。 たとえば、追加ソフトウェアをインストールしなくても、ビルド エージェントは基本的な Visual C# WPF アプリケーションをコンパイルできます。

しかし、それ以外の種類のプロジェクトをコンパイルするには、追加ソフトウェアをインストールする必要があります。 たとえば、セットアップ プロジェクトをコンパイルするには Visual Studio をインストールする必要があります。

ビルド エージェントがプロジェクトをコンパイルできることを確認するには

  1. ビルド エージェントが実行されているビルド コンピューターに、チームが使用する Visual Studio のバージョンおよびエディションをインストールします。

  2. 開発者の環境にインストールされていてアプリケーションのビルドに必要な他のすべてのソフトウェアとコンポーネントをインストールします。

その他のタスクの実行に必要なソフトウェアのインストール

ビルド エージェントで他のさまざまなタスクを実行するために、ビルド コンピューターに追加ソフトウェアをインストールすることが必要な場合があります。 次の表では、ビルド エージェントの一般的なタスクとそれを実行するために必要なソフトウェアを示します。

ビルド エージェントのタスク

ビルド エージェントのコンピューターにインストールする必要のあるソフトウェア

Build ASP.NET Web アプリケーション プロジェクト

Visual Studio 2010

Build C++ プロジェクト

Visual Studio 2010

ビルド エージェントへのタグの割り当て

ビルド システムの規模が大きくなると、特別なビルド エージェントの定義が必要になる場合があります。 ビルド エージェントに特別な機能がある場合、または特定の用途がある場合は常に、1 つまたは複数のタグをそのエージェントに割り当てる必要があります。 このようにすることで、チーム メンバーが特定の種類のビルド エージェントを必要とするビルド定義を作成するときは、ビルド定義でタグを指定できます。

1 つのビルド エージェントに、複数のタグを割り当てることができます。 たとえば、x86 および Release というタグを割り当てたビルド エージェントを作成することで、32 ビット アプリケーションのリリース構成をコンパイルするように設定されたエージェントを示すことができます。

同じビルド コンピューターで複数のビルド エージェントを実行する場合、通常はすべてのビルド エージェントが同じ機能を持つと考えられます。 したがって、通常は、そのビルド コンピューターのすべてのビルド エージェントに同じタグを割り当てます。

ビルド エージェントの機能を表すためのタグの使用

次の表では、タグ名とそれが表すビルド エージェントの機能の例を示します。

ビルド エージェントに適用するタグ

ビルド エージェントの機能

x86

32 ビット アプリケーションをコンパイルします。

x64

64 ビット アプリケーションをコンパイルします。

IIS

ASP.NET Web アプリケーションをコンパイルした後、ビルド エージェントが実行しているビルド コンピューターにステージングしてホストします。

test、stress

負荷テストおよびストレス テストの実行用に Test Professional 2010 が設定されているビルド コンピューターで実行するビルド エージェント。

タグを使用したビルド処理の負荷分散

タグを使用して、チームが実行する必要があるビルド処理の負荷を分散させることができます。 たとえば、チェックインを検証する Check-in Build という名前のビルド定義を作成する場合があります (詳細については、ゲート チェックイン ビルドの定義と変更内容の検証 のトピックを参照してください)。 このビルド定義は頻繁に実行され、一度に実行できるインスタンスは 1 つだけです。 したがって、高性能のハードウェア (高速のマルチコア プロセッサと高速のハード ディスク ドライブなど) を備えたビルド コンピューターを設定します。 そして、そのコンピューターにビルド エージェントを作成し、タグ check-in を割り当てます。 さらに、check-in タグが割り当てられているビルド エージェントだけで実行するように、ビルド定義を設定します。

また、Fast Track Build という名前の別のビルド定義があります。このビルド定義は、1 つのチームが作業する最優先プロジェクトのビルドを処理するために使用されます。 この特殊なプロジェクトの要件を満たす別のビルド エージェントを設定します。 このビルド エージェントには FastTrack というタグを割り当て、このタグが割り当てられているビルド エージェントだけで実行するようにビルド定義を設定します。

クライアント コンピューターでビルド エージェントにタグを適用するには

  1. [ビルド] メニューの [ビルド コントローラーの管理] をクリックします。

    [ビルド コントローラーの管理] ダイアログ ボックスが表示されます。

  2. タグを適用するビルド エージェントをクリックし、[プロパティ] をクリックします。

    [ビルド エージェントのプロパティ] ダイアログ ボックスが表示されます。

  3. 次のどちらかの方法を使用して、1 つ以上のタグを適用します。

    • 一覧から 1 つまたは複数のタグを選択します。

    • [新しいタグの追加] リンクをクリックします。 [新しいタグの追加] ダイアログ ボックスで、適用するタグの名前を入力します。

ビルド コンピューターでビルド エージェントにタグを適用するには

  1. 変更するビルド エージェントを実行しているビルド コンピューターにログオンします。

  2. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Team Foundation Server 2010] をポイントし、[Team Foundation 管理コンソール] をクリックします。

    Team Foundation 管理コンソールが表示されます。

  3. ツリー ペインでサーバーの名前を展開し、[Team Foundation ビルド] ノードをクリックします。

  4. ビルド エージェントの名前のすぐ下にある [プロパティ] をクリックします。

    [ビルド エージェントのプロパティ] ダイアログ ボックスが表示されます。

  5. 次のどちらかの方法を使用して、1 つ以上のタグを適用します。

    • 一覧から 1 つまたは複数のタグを選択します。

    • [新しいタグの追加] リンクをクリックします。 [新しいタグの追加] ダイアログ ボックスで、適用するタグの名前を入力します。

ビルド エージェントの削除

クライアント コンピューターを使用して、またはビルド エージェントをホストしているビルド コンピューター上で直接、ビルド エージェントを削除できます。

メモ   ビルド エージェントを削除しても、Team Foundation ビルド サービス はビルド コンピューターからアンインストールされません。

クライアント コンピューターを使用してビルド エージェントを削除するには

  1. [ビルド] メニューの [ビルド コントローラーの管理] をクリックします。

    [ビルド コントローラーの管理] ダイアログ ボックスが表示されます。

  2. 削除するビルド コントローラーまたはビルド エージェントをクリックし、[削除] をクリックします。

ビルド コンピューターからビルド エージェントを削除するには

  1. 変更するビルド エージェントを実行しているビルド コンピューターにログオンします。

  2. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Team Foundation Server 2010] をポイントし、[Team Foundation 管理コンソール] をクリックします。

    Team Foundation 管理コンソールが表示されます。

  3. ツリー ペインでサーバーの名前を展開し、[Team Foundation ビルド] ノードをクリックします。

  4. ビルド エージェントの名前のすぐ下にある [削除] をクリックします。

参照

その他の技術情報

ビルド処理の定義

履歴の変更

日付

履歴

理由

2011 年 5 月

テストを実行する方法に関する情報を追加しました。

情報の拡充