次の方法で共有


既定テンプレートに基づくビルド プロセスの定義

既定のテンプレート (DefaultTemplate.11.1.xaml) を使用すると、ビルドするコード プロジェクトを選択することにより、基本的なビルドを簡単に定義できます。このテンプレートでは、より高度な機能 (自動テストの実行など) を追加したり、ビルド処理のさまざまな側面をチームのニーズに合わせて調整したりすることもできます。

必要なアクセス許可

この手順を実行するには、[ビルド定義の編集] アクセス許可が [許可] に設定されている必要があります。詳細については、「Team Foundation Server のアクセス許可」を参照してください。

既定のテンプレートを使用してビルド定義を作成するには

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

    1. 作業するチーム プロジェクトにまだ接続されていない場合は、チーム プロジェクトに接続します

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

    3. [ビルド] ページの [ビルド定義の新規作成] を選択します。

    [ビルド定義の新規作成] ウィンドウが開きます。

  2. [プロセス] タブの [ビルド プロセス テンプレート] では、既定のテンプレートが既定で選択されています。[ビルド プロセス パラメーター] で、[必須] ノードを展開し、ビルドする 1 つ以上のソリューションまたはプロジェクトを指定します。

    詳細については、このトピックの「ビルドするプロジェクトを指定する」を参照してください。

  3. このトピックで後述する情報を使用して、このビルド定義に含める機能を提供するフィールドを設定します。

  4. [プロセス] タブでフィールドを設定したら、他のタブでビルド プロセスのオプションを指定します。

    詳細については、「ビルド定義の作成」を参照してください。

このトピックの内容

  • 既定のテンプレートのビルド プロセス パラメーターについて

  • ビルドするプロジェクトを指定する

  • ビルドするプラットフォームと構成を指定する

  • ビルドを処理するビルド エージェントを指定する

  • ビルド エージェントの制限時間を指定する

  • 自動テストを実行して、テスト影響分析を有効にする

  • 基本的なビルド プロセス パラメーターを指定する

  • 詳細ビルド プロセス パラメーターを指定する

既定のテンプレートのビルド プロセス パラメーターについて

ここでは、既定のテンプレートに基づくビルドのビルド プロセス パラメーターを使用してビルドを定義する方法について説明します。ここで説明する機能は、次の条件が満たされた場合に Visual Studio に適合します。

  • Visual Studio に含まれているプロセス テンプレートの 1 つから作成されたチーム プロジェクトで作業している。

  • いずれのチーム メンバーも DefaultTemplate.11.1.xaml を削除またはカスタマイズしていない。

ビルドするプロジェクトを指定する

[ビルドするプロジェクト] ボックスでは、ビルドする 1 つ以上のソリューションまたはコード プロジェクトを指定できます。(このボックスを表示するには、[必須] ノードを展開し、さらに [ビルドする項目] ノードを展開します)。少なくとも 1 つのソリューションまたはプロジェクトを指定する必要があります。

関連する複数のプロジェクトをビルドする場合、通常は、それらのプロジェクトを 1 つのソリューションに追加し、[ビルドするプロジェクト] ボックスに個々のプロジェクトを追加する代わりに、そのソリューションを指定します。

[ビルドするプロジェクト] ボックスで、省略記号ボタン**(...)** を選択して、[ソリューション/プロジェクト] ダイアログ ボックスを開き、ビルドするソリューションまたはプロジェクトを指定します。

[ビルドするプロジェクト] ボックスに手動で入力するには、ビルドする個々のプロジェクトまたはソリューションの完全なバージョン管理パスを指定します。次の例に示すように、各値をコンマで区切ります。

$/Features/FeatureA/Server/All Server Projects.sln、$/Features/FeatureA/Client/All Client Projects.sln

重要 : 重要

各プロジェクトまたはソリューションへのパスは、ビルド定義の [ワークスペース] タブに表示される、いずれかの [ソース管理フォルダー] 値の子であることが必要です。

ビルドするプラットフォームと構成を指定する

[ビルドする構成] ボックスでは、ビルドするプラットフォームおよび構成を指定できます (このボックスを表示するには、[必須] ノードを展開し、さらに [ビルドする項目] (ビルドする項目) ノードを展開します)。たとえば、このボックスに Release|x86 を追加することにより、このビルドで C++ プロジェクトの 32 ビット バージョンのリリース構成だけをビルドするように指定できます。

ヒントヒント

大きなコードベースがある場合は、必要な構成およびプラットフォームだけをビルドすることにより、ビルドの処理速度を大幅に高めることができます。

[ビルドする構成] ボックスを空のままにすると、各ソリューションまたはプロジェクトに定義されている既定の構成とプラットフォームがビルドされます。

[ビルドする項目] ボックスで、省略記号ボタン (...) を選択して、[構成] ダイアログ ボックスを開き、ビルドする項目を指定します。ビルドする項目を手動で指定することもできます。

[ビルドする構成] ボックス内の各構成は、次の形式に従っている必要があります。

構成|プラットフォーム

次のプレースホルダーを置き換える必要があります。

  • <構成> は、[デバッグ]、[リリース]、[すべての構成] などの値です。

  • <プラットフォーム> は、[Win32]、[x86]、[x64]、[Any CPU] などの値です。

リスト内の構成はコンマで区切る必要があります。

たとえば、C# プロジェクトのデバッグ構成とリリース構成の両方をビルドする場合は、[ビルドする構成] ボックスに「デバッグ|Any CPU, リリース|Any CPU」と指定します。

構成とプラットフォームに使用するトークンは、ソリューション プロパティまたはコード プロジェクト プロパティに設定されているトークンと一致している必要があります。トークンが一致していない場合、ビルドの完了時に予期しない結果になる可能性があります。

ビルドを処理するビルド エージェントを指定する

ビルドの処理に使用するビルド エージェントを指定するには、[詳細設定] ノードを展開し、さらに [エージェントの設定] ノードを展開し、次のパラメーターに値を指定します。

  • [名前フィルター]: このフィールドにエージェントの名前を入力することにより、このビルド定義の処理に使用するビルド エージェントをフィルター処理できます。ワイルドカード文字の *? を使用して名前のセットを指定することもできます。たとえば、「CI*」と入力すると、名前が CI で始まるエージェントを指定できます。この条件に合致するエージェントには、CI、CI1、CI_Agent2 などがあります。

  • [タグ フィルター]: 一致するタグを持つビルド エージェントだけがこのビルドを実行するように、1 つ以上のタグを指定します。通常は、特定のビルド エージェントにタグを適用して、特殊な目的のためにそれらのビルド エージェントを予約します。たとえば、ビルド コンピューターで、ゲート チェックイン ビルドを処理するためのビルド エージェントを設定します。このビルド エージェントにゲーティングされたタグを適用します。最後に、ゲート タグをビルド定義に適用し、そのビルド定義が同じゲート タグを持つエージェントによってのみ処理されるようにします。タグを指定するには、省略記号ボタン ([...]) を選択します。

    [!メモ]

    このビルドの処理に使用できるビルド エージェントのプールは、このビルド定義に指定したビルド コントローラーによって決まります。ビルド コントローラーを変更するには、[ビルドの既定値] タブを選択し、[ビルド コントローラー] メニューを開いて、ビルド コントローラーを選択します。

  • [タグ比較演算子]: メニューで、次のいずれかの値を選択します。

    • [MatchExactly]: [タグ フィルター] ボックスで指定したタグ セットと厳密に同じタグ セットを持つビルド エージェントによってのみこのタグ定義を処理する場合は、この値を選択します。タグを指定しない場合、どのエージェントでもこのビルド定義を処理できます。

      ヒントヒント

      [MatchExactly] を選択することで、このビルド定義に使用できるエージェントを、[タグ フィルター] フィールドに指定されたタグ セットと厳密に同じタグ セットを持つエージェントのみに制限します。

    • [MatchAtLeast]: 少なくとも [タグ フィルター] ボックスで指定したタグ セットと同じタグ セットを持つすべてのビルド エージェントによってこのタグ定義を処理する場合は、この値を選択します。タグを指定しない場合、タグを持たないエージェントだけがこのビルド定義を処理できます。

ビルド エージェントの制限時間を指定する

制限時間を指定するには、[詳細設定] ノードを展開し、さらに [エージェントの設定] ノードを展開して、次の表に示すパラメーターを指定します。

目的

設定するパラメーター

説明

ビルド エージェントがビルドの処理に使用できる最大時間を指定します。

最大実行時間

時間間隔の値を hh:mm:ss の形式で入力します。たとえば、制限時間として 04:30:15 を指定し、ビルド エージェントの処理が 4 時間 30 分 15 秒後に完了しなかった場合、ビルドはタイムアウト エラーで失敗となります。ビルド エージェントによるビルドの処理に制限時間を設定しない場合は、00:00:00 を指定します。

ビルド要求をビルド エージェントに割り当てるまでの許容される最大時間を指定します。

最大待機時間

時間間隔の値を hh:mm:ss の形式で入力します。たとえば、最大待機時間として 01:30:45 を指定し、1 時間 30 分 45 秒以内にビルドがビルド エージェントに割り当てられなかった場合、ビルドはタイムアウト エラーで失敗となります。ビルド コントローラーがこのビルド定義を処理するビルド エージェントを検索する時間に制限を設けない場合は、00:00:00 を指定します。

自動テストの実行とテスト影響の分析

ビルドを設計して、1 つ以上の自動テスト実行を実行し、テストにおけるコード変更の影響を分析できます。詳細については、「ビルド プロセスでのテストの実行」を参照してください。

基本的なビルド プロセス パラメーターを指定する

一般的なシナリオを正常に完了するためには、多くの場合、[基本] ノードのビルド プロセス パラメーターを変更する必要があります。

目的

設定するパラメーター

説明

1 つ以上の自動化されたテスト実行を実行する

自動テスト

ビルド プロセスでのテストの実行

完了したビルドの名前付け規則をカスタマイズする

ビルド番号形式

チームは、完了した各ビルドの名前に有用なデータを含めることができます。詳細については、「ビルド番号の使用」を参照してください。

このパラメーターをカスタマイズするには、このフィールドに直接テキストを入力します。ただし、省略記号ボタン ([...]) を選択し、[BuildNumber 形式エディター] ダイアログ ボックスを開くことによって、簡単に値を変更したり使用可能なトークンを表示したりできます。このダイアログ ボックスで、[マクロ] を選択し、トークンを表示して、使用するトークンを挿入します。

ビルドを処理する前にビルド エージェントのワークスペースを消去するかどうかと消去の方法を指定する

ワークスペースのクリーン

このメニューで、次のいずれかの値を選択します。

  • ビルドを処理する前に既存の出力ファイルおよびソース コード ファイルをすべて削除する場合は、[すべて] を選択します。このオプションは、ビルド処理の問題を可能な限り徹底的に検出するコンパイル プロセスを実行する場合に選択します。

  • 既存の出力ファイルをすべて削除し、最近のビルド以降に変更されていないソース コード ファイルを保持する場合は、[出力] を選択します (tf get/all スイッチなしで実行します)。

  • 既存の出力ファイルを残し、最近のビルド以降に変更されていないソース コード ファイルを保持する場合は、[なし] をクリックします (tf get/all スイッチなしで実行します)。

ヒントヒント
ビルド処理に、[すべて] オプションが実行する追加のクリーニングが必要ない場合、[なし] (最も速いオプション) または [出力] を指定したときにビルドの実行に必要な時間を大幅に短縮できます。ただし、ワークスペースのクリーンを行わない場合、チームはリファクタリング中に導入されるような一部の種類の欠陥を見過ごす可能性があります。

ビルド ログの詳細度を指定する

ログの詳細度

ビルド情報はチームにとって重要ですが、ログ記録される情報が多すぎるビルド処理は問題を引き起こす可能性があります。たとえば、サーバーの記憶域や CPU リソースの消耗、サーバー パフォーマンスの低下、クライアント コンピューターのビルド結果ウィンドウでのユーザー エクスペリエンスの低下などの問題があります。配置で処理、保存、および表示する必要がある情報の量を制御できます。詳細については、「ビルド情報の管理と詳細度の制御」を参照してください。

コードを分析して一般的な問題を検出する

コード分析の実行

このメニューで、次のいずれかの値を選択します。

  • この機能が有効に設定された各コード プロジェクトを分析するには、[設定時] をクリックします。

  • この機能がコード プロジェクトで有効になっているかどうかにかかわらず、すべてのコード プロジェクトを分析する場合は、[常に行う] をクリックします。

  • コード分析をスキップする場合は、[使用しない] をクリックします。

詳細については、次のトピックを参照してください。

シンボルを格納してデバッグ履歴などの機能を有効にする

[ソースのインデックス作成] および [シンボルを発行するパス]

シンボル データを発行するようにビルド定義を構成することにより、デバッグ履歴などの機能を有効にできます。詳細については、「シンボル データの発行」を参照してください。

詳細ビルド プロセス パラメーターを指定する

[詳細設定] ノードのビルド プロセス パラメーターは、一部の一般的ではないシナリオを正常に完了するために変更が必要となるものです。

目的

設定するパラメーター

説明

ビルド エージェントの設定を指定する

[エージェントの設定]

ビルドを処理するビルド エージェントを指定する、ビルド エージェントの時間制限を指定する

テスト影響の分析

テスト影響を分析する

ビルド プロセスでのテストの実行

完了した各ビルドをコードに追加されたすべての変更セットおよびそれらに関連付けられた作業項目にリンクする

変更セットと作業項目を関連付ける

ほとんどの場合、このパラメーターを True (既定値) に設定することが最も推奨される方法です。特に、バグ修正の確認や追加テストの実行には、通常、正常に完了したスケジュール ビルドを使用するため、スケジュール ビルド (夜間ビルド) では、このパラメーターを True に設定することをお勧めします。

各ビルド定義には、次の完了したビルドに関連付ける変更セットおよび作業項目を示す固有のレコードがあります。たとえば、変更セット 382 は Build A と Build B の両方でビルドされるとします。Build A はキューに配置され、正常に完了しました。Build B はキューに配置され、失敗しました。この場合、変更セット 382 は、現在、Build A の正常に完了したビルドと Build B の失敗したビルドにリンクされています。この変更セットは、Build A の次の完了したビルドにはリンクされませんが、Build B の次の完了したビルドにはリンクされます。

ビルドが失敗した場合に作業項目を作成する

失敗時に作業項目を作成

ビルドが失敗した場合に作業項目が作成されるようにする場合は、このパラメーターを True に設定します。

テストの無効化

テストを無効にする

ビルド プロセスでのテストの実行

ソース コードの特定のバージョンをビルドする

バージョンを取得する

ビルドするバージョンを示すバージョン指定を指定します。

バージョン指定の詳細については、「コマンドラインの構文」を参照してください。

完了した各ビルドにコンパイルされた各ファイルのバージョンにラベルを付ける

ソースのラベル作成

各ソース コード ファイルにラベルが作成されるようにするには、このパラメーターを True に設定します。このアクションによって、チームは完了したビルドに各ファイルのどのバージョンが含まれているかを簡単に判別できます。

レイヤー図と照らし合わせてコードを検証する

MSBuild 引数

このパラメーター値に /p:ValidateArchitecture=true を追加します。

詳細については、「レイヤー図を使用したコードの検証」を参照してください。

MS Build に渡すコマンド ライン引数を指定します。

MSBuild 引数

ビルド プロセスで MSBuild に引数を渡す必要がある場合は、[MSBuild 引数] パラメーターに引数を入力します。詳細については、「MSBuild コマンド ライン リファレンス」を参照してください。

ビルドの処理に使用する MSBuild バージョンのビットを指定する

MSBuild プラットフォーム

次のいずれかの値を指定します。

  • ビルド エージェントにインストールされているものと同じ Team Foundation ビルド サービス の CPU ビットで MSBuild を実行する場合は、Auto を指定します。

  • このビルドを常に MSBuild の 32 ビット バージョンで処理する場合は、X86 を指定します。

    Visual Studio は 32 ビット アプリケーションとして実行されるため、Team Foundation ビルド サービス の 64 ビット バージョンを実行するビルド エージェントでビルドを処理すると、問題が発生することがあります。このような問題は、X86 を指定することによって解決される場合があります。

  • このビルドを常に MSBuild の 64 ビット バージョンで処理する場合は、X64 を指定します。

この値を指定する場合は、ビルドが 64 ビット ビルド コンピューターでホストされたビルド エージェントによって処理されることを (このトピックで前述した手順でタグを使用するなどの方法で) 確認してください。それ以外のビルド エージェントで処理された場合、ビルドは失敗します。

プライベート ビルドをキューに配置する

個人のビルドの格納場所

通常、ビルド定義では、このパラメーターの値を指定しません。プライベート ビルドをキューに配置する方法の詳細については、「ビルドをキューに配置する」を参照してください。

ソリューションで出力ファイルを整理する

ソリューション固有のビルド出力

ソリューションで出力ファイルを整理する場合は、このパラメーターを True に設定します。