ビルド エージェントの配置および構成

チームで Team Foundation ビルドを使用するには、プロセッサ集中型のビルド処理を行うビルド エージェントが少なくとも 1 つ必要です。

2 台のビルド サーバー

各ビルド エージェントは、1 つのビルド コントローラー専用になり、そのコントローラーによって制御されます。ビルド エージェントは、ビルド コントローラーがホストされているビルド サーバーにホストしてもかまいません。場合によっては、複数のビルド サーバー上のビルド エージェントを制御するビルド コントローラーを単一のビルド サーバーにホストすることで、チームのニーズを最も効率よく満たすことができます。

ビルド エージェントは AgentScope アクティビティに含まれるビルド処理のステップを実行します。通常、このステップには、バージョン コントロールからのファイルの取得、ワークスペースのプロビジョニング、コードのコンパイル、テストの実行、バージョン コントロールへのファイルのマージが含まれます。

ビルド エージェントをホストするビルド サーバーに、チーム プロジェクト コレクションのコードベースとテストのサイズや複雑さに対応できるだけの記憶域と処理能力があることを確認してください。通常は、ビルド サーバーのプロセッサ コアごとに 1 つのビルド エージェントをホストします。1 つの物理ハード ドライブを各ビルド エージェントの作業ディレクトリ専用にすることでパフォーマンスを高めることもできます。

ヒントヒント

チーム プロジェクト コレクションが Team Foundation サービスにホストされており、標準のビルド エージェント 1 つでチームのニーズを満たすことができる場合は、独自のビルド エージェントを配置する代わりにホスト ビルド コントローラーを使用できます。

必要なアクセス許可

You must be a member of the Windows Administrators group on the build server and a member of the Project Collection Build Administrators group on your team project collection.「Team Foundation Server のアクセス許可」を参照してください。

目的に合ったトピックをクリックしてください

Create or modify a build agent

ビルド サーバーからビルド エージェントを作成または変更するには

  1. 構成するビルド サーバーにログオンします。

  2. Windows の [スタート] メニューから、[Team Foundation 管理コンソール] を実行します。

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

  3. Team Foundation Server 管理コンソールのツリー ペインでサーバーの名前を展開し、[ビルド構成] ノードを選択します。

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

    "インストール済みフィーチャーの構成インストール済みフィーチャーの構成" というメッセージが表示された場合は、「ビルド サーバーの配置」を参照してください。

  4. [ビルド構成] ページで、目的に応じて操作します。

    • 新しいビルド エージェントを作成する場合は、[新規エージェント] を選択します。

    • 既存のビルド エージェントを変更する場合は、

      ビルド エージェント

      [プロパティ] を選択します。

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

Visual Studio からビルド エージェントを変更するには

  1. Visual Studio のチーム エクスプローラーで次の操作を行います。

    1. チーム プロジェクト コレクション内のチーム プロジェクトにまだ接続されていない場合は、チーム プロジェクトに接続します

    2. [ホーム] アイコン[ホーム] を選択し、ビルド アイコン[ビルド] を選択します。

  2. [ビルド] ページで [アクション] を選択し、[ビルド コントローラーの管理] を選択します。

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

    [ビルド コントローラーの管理] ダイアログ ボックス

  3. 変更するビルド エージェントを選択し、[プロパティ] を選択します。

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

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

[表示名][説明]: チーム メンバーがビルド エージェントを識別しやすいように、わかりやすい名前と説明を入力します。

[コントローラー]: このビルド エージェントを制御するビルド コントローラーを選択します。ビルド コントローラーは、このビルド エージェントと同じビルド サーバー、または別のビルド サーバーで実行できます。

ビルド エージェントを構成する方法の詳細については、以下のセクションを参照してください。

Install Visual Studio and other software to enable compilation and other capabilities

これは、チームが開発用コンピューターで使用している Visual Studio のバージョンをビルド エージェントにインストールするときのベスト プラクティスです。「Visual Studio のインストール」を参照してください。開発用コンピューターにインストールされていて、アプリのビルドに必要なその他すべてのソフトウェアとコンポーネントもインストールしてください。そうしないと、コード プロジェクトの一部をコンパイルできないなどの問題が生じる可能性があります。

Specify the working directory

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

ヒントヒント

1 つの物理ハード ドライブを各ビルド エージェントの作業ディレクトリ専用にすることでパフォーマンスを高めることができます。

Bb399135.collapse_all(ja-jp,VS.110).gif作業ディレクトリ トークンの使用

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

  • 環境変数
    環境変数には、システムおよびログオンしているユーザーの環境に関する情報が含まれます。最も一般的に使用される変数は SYSTEMDRIVE ですが、USERNAMEHOMEPATH のような変数が使用される場合もあります。

    ヒントヒント

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

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

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

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

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

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

Bb399135.collapse_all(ja-jp,VS.110).gif作業ディレクトリの例

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

C:\TeamBuilds\BuildBot3\CoolApp\NightlyBuild

C:\ TeamBuilds\BuildBot3\CoolApp\WeeklyBuild

Bb399135.collapse_all(ja-jp,VS.110).gif作業ディレクトリのパスが長すぎないことを確認

指定する作業ディレクトリにより、ビルド エージェントで生成される物理パスが 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\ のようになります。

Bb399135.collapse_all(ja-jp,VS.110).gif作業ディレクトリで作成されるサブディレクトリ

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

サブディレクトリ

格納されるファイル

Sources

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

Binaries

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

TestResults

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

Enable your build agent to run tests

1 つまたは複数の自動化されたテスト実行を実行するビルド プロセスを定義できます。

重要 : 重要

各種のテストやテスト処理を実行するには、チームが開発用コンピューターで使用している Visual Studio のバージョンがビルド エージェントにインストールされている必要があります。「Visual Studio のインストール」を参照してください。

ビルド エージェントでは以下を実行できます。

Assign tags to represent build agent capabilities or purposes

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

タグは、既に説明した [ビルド エージェントのプロパティ] ダイアログ ボックスで割り当てることができます。その後で、ビルド定義にタグを適用できます。

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

適用できるタグ

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

x86

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

x64

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

bvt

夜間 BVT ビルドで実行される BVT テストを実行します。

WindowsStore

Windows ストア アプリをコンパイルしてテストします

IIS

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

interactive

対話モードで実行されているビルド サーバーでエージェントが必要なタスクを実行します。

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

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

Remove a build agent

  1. Visual Studio で、「ビルド エージェントの作成または変更」で説明した [ビルド コントローラーの管理] ダイアログ ボックスを開きます。

  2. 削除するビルド エージェントを選択し、[削除] を選択します。

ヒントヒント

ビルド サーバーにログオンしている間に、Team Foundation 管理コンソールを使用してビルド エージェントを削除することもできます。

次の手順