Share via


アップグレード テンプレートを使用してビルドを定義する

アップグレード テンプレートを使用することにより、Visual Studio Team Foundation Server 2010 でも継続してレガシ ビルド定義を使用できます。 具体的には、このテンプレートを使用して次の種類のビルド オブジェクトを実行できます。

  • Visual Studio Team System 2008 Team Foundation Server で作成されたビルド定義

  • Visual Studio 2005 Team Foundation Server で作成されたビルドの種類

Team Foundation Server 2010 にアップグレードすると、自動的にシステム内の各レガシ ビルド定義およびビルドの種類に対応するアップグレード テンプレート ビルド定義が作成されます。

また、Visual Studio ALM の古いバージョンを使用して、Team Foundation Server 2010 を実行するサーバー上にビルド定義またはビルドの種類を作成した場合にも、自動的にアップグレード テンプレート ビルド定義が作成されます。

これらのレガシ ビルド オブジェクトの側面を変更するには、ほとんどの場合、TFSBuild.proj ファイルを変更する必要があります。 詳細については、「Team Foundation ビルドのターゲット、タスク、およびプロパティ」を参照してください。 ただし、ビルド定義オブジェクト内の設定には、チーム エクスプローラーで [ビルド] ノードを開いて変更できるものもあります。ここでは、それらの設定について説明します。

必要なアクセス許可

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

アップグレード テンプレート ビルド定義を変更するには

  1. チーム エクスプローラー で、ビルドを定義するチーム プロジェクトを展開し、[ビルド] ノードを展開します。

  2. 変更するビルド定義を右クリックして、[ビルド定義の編集] をクリックします。

  3. [ビルドの既定値] タブで、[ビルド コントローラー] メニューを開いて、ビルド コントローラーを選択します。

  4. [プロセス] タブをクリックします。

  5. [ビルド プロセス テンプレート] に [アップグレード テンプレート] が表示されていることを確認します。

  6. [必須] ノードを展開します。

  7. [構成フォルダーのパス] で、TFSBuild.proj ファイルがあるフォルダーのパスが正しく指定されていることを確認します。

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

  9. [プロセス] タブのフィールドを設定したら、必要に応じて、[トリガー][ワークスペース][ビルドの既定値][アイテム保持ポリシー] の各タブのフィールドを設定します。

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

このトピックの内容

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

  • ログの詳細度を指定する

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

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

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

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

ここでは、アップグレード テンプレートに基づくビルドのビルド プロセス パラメーターを使用してビルドを変更する方法について説明します。 ここで説明する内容は、次の条件が満たされた場合に Visual Studio アプリケーション ライフサイクル管理 (ALM) に適合します。

  • Visual Studio ALM に付属の 2 つのプロセス テンプレート (MSF for Agile Software Development v5.0 および MSF for CMMI Process Improvement v5.0) のいずれかを使用して作成されたチーム プロジェクトで作業している。

  • いずれのチーム メンバーもアップグレード テンプレートを削除またはカスタマイズしていない。

ログの詳細度を指定する

ビルド結果ウィンドウに表示されるログの詳細度を指定するには、[基本] ノードを展開し、[ログの詳細度] ボックスの一覧で値を選択します。 次の表は、ログ詳細度の値とそれぞれの影響の一覧です。

ビルド エラー

ビルド警告

重要度が高い

ビルド

Messages

重要度が標準の

ビルド

Messages

重要度が低い

ビルド

Messages

ワークフロー アクティビティ プロパティ (入出力)

Minimal

Y

N

N

N

N

N

標準

Y

Y

Y

N

N

N

Detailed

Y

Y

Y

Y

N

N

診断

Y

Y

Y

Y

Y

Y

指定するログ詳細度の値は、MSBuild が生成するメッセージの詳細度にも影響します。 詳細については、「MSBuild コマンド ライン リファレンス」を参照してください。

ビルド レポートの詳細については、「[ビルドの結果] ウィンドウの表示」を参照してください。

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

ビルドの処理に使用するビルド エージェントを指定するには、[詳細設定] ノードを展開し、さらに [エージェントの設定] ノードを展開し、次のいずれかのボックスを設定します。

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

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

    注意

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

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

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

目的

設定するパラメーター

説明

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

最大実行時間

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

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

最大待機時間

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

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

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

目的

設定するパラメーター

説明

ビルド後にバイナリが存在するサブディレクトリを指定する

Binaries サブディレクトリ

サブディレクトリを指定しない場合、Binaries というサブディレクトリが使用されます。

ローカル コンピューターに存在するビルドの種類の定義を使用する

ビルドの種類をダウンロードしない

ビルドの種類の定義を Team Foundation Server からダウンロードするのではなく、ローカル コンピューターに存在するビルドの種類の定義を使用するには、このフラグを True に設定します。 使用するローカル パスは、ビルドの種類に対応するローカル ワークスペースです。

このパラメーターは、通常、TFSBuild.proj ファイルをデバッグできるようにする目的で一時的に True に設定します。

エラーおよび警告のログ ファイルをプロジェクトごとに生成する

プロジェクトごとのログ ファイル

エラーおよび警告のログ ファイルをプラットフォームと構成の組み合わせごとではなくプロジェクトごとに生成する場合は、この値を True に設定します。

MSBuild に渡すコマンド ライン引数を指定する

MSBuild 引数

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

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

MSBuild プラットフォーム

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

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

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

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

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

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

MSBuild が構成フォルダーのパスにあるファイルを再帰的に取得して使用するようにする

再帰の種類

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

  • [1 レベル]: [構成フォルダーのパス] に指定されたフォルダーに MSBuild が処理するファイルがある場合

  • [すべて]: [構成フォルダーのパス] に指定されたフォルダーまたはそのフォルダーのサブディレクトリに MSBuild が処理するファイルがある場合

ワークスペースおよびビルドをマップするサブディレクトリを指定する

Sources サブディレクトリ

このビルド コンピューターを使用するビルド エージェントについて、ソースを格納するサブディレクトリを指定します。 サブディレクトリを指定しない場合、Sources というサブディレクトリが使用されます。

テストの結果を保存するサブディレクトリを指定する

テスト結果サブディレクトリ

このビルド コンピューターを使用するビルド エージェントについて、テスト結果を格納するサブディレクトリを指定します。 サブディレクトリを指定しない場合、TestResults というサブディレクトリが使用されます。