VSTS と TFS 向け拡張機能

VSTS のセットアップ

システム要件

この拡張機能はVSTS)2015アップデート 3およびVSTS 2017.

VSTS のビルドを高速化するにはご利用の環境に Incredibuild システムをセットアップする必要があります。

Incredibuild for VSTS 拡張機能を使って高速化したい VSTS のビルド エージェントに Incredibuild Agent をインストールする必要があります。

VSTS 拡張機能を使用するにはエンタープライズ版ライセンスが必要です。

インストール

Incredibuild 拡張機能は VSTS Marketplace で「Incredibuild」を検索して拡張機能をインストールするだけで簡単に利用できます。

VSTSでのExtensionsのインストールに関する詳細については、VSTSオンラインマニュアルの「Visual Studio Team ServicesのGet拡張子」 を参照してください。

TFS 2015 Update 3 または TFS 2017 に Incredibuild 拡張子をインストールするには、「Team Foundation Server (TFS)のGet拡張子」 をご覧ください。

Incredibuild ビルド ステップの使用

Incredibuild for VSTS 拡張機能ではシェルやバッチ スクリプトの代わりに、Incredibuild の BuildConsole や IBConsole コマンドのラッパーが提供されます。拡張機能を使って、コンソール ログの出力や終了コードのパースなどのコマンドラインが適切な形式で記述されていることを確認できます。

ビルド ステップを VSTS ジョブに追加する

Incredibuild のビルドステップを VSTS ジョブに追加する手順は次の通りです。

  1. VSTSプロジェクトで、[Build] タブを開きます。

  2. +New]をクリックし、新しい空のビルド定義を作成します。

  3. 新しいビルド定義で[+Add build step...]をクリックし、「Incredibuild BuildConsole」、「Incredibuild DevTools」、または、「 Incredibuild Make and Build Tools 」のいずれかを選択します。

  4. 選択したビルド ステップ名とパラメーターの設定フィールドが表示されます (次セクションの画像を参照)。パラメーター横のヘルプ アイコンをクリックすると詳細が表示されます。

  5. Incredibuild の各ビルド ステップの設定方法については次のセクションをご覧ください

  6. 設定ページで[Save] をクリックします。

BuildConsole ステップの設定

このビルド ステップでは Visual Studio のソリューションやプロジェクトのコンパイルを分散、高速化するために、Incredibuild BuildConsole コマンドのラッパーを使用します。

Visual Studio コンパイルを高速化するための Incredibuild の使用に関する詳細については、Incredibuild オンラインマニュアルの「Visual Studio向けIncredibuild」 を参照してください。

必須設定

[Target Solution File] 設定フィールドは必須です。Incredibuild でコンパイルするソリューションまたはプロジェクト名を入力します。

任意設定

その他のBuildConsoleのオプションパラメータは、「ターゲットと設定」、「ディストリビューションコントロール」、「出力とログ」、「その他」 と高度な設定というようにグループ化されています。

Incredibuild コンソール設定フィールドの詳細については、以下の設定フィールドテーブルのビルドステップ」の セクションを参照してください。

DevTools ステップの設定

このビルド ステップでは Incredibuild IBConsole コマンドラインのラッパーを使用して、ユニットテスト、QA スクリプト、パッケージング、コード解析、アセットビルド、シミュレーションなど、さまざまなマルチプロセスのカスタム処理を高速化します。

Visual Studio のコンパイルを高速化するための Incredibuild の使用に関する詳細については、Incredibuild オンラインマニュアルの「DevTools向けIncredibuild」を参照してください。

必須設定

[Command Line] は必須です。Incredibuild で処理および高速化するコマンドラインを記入します。

任意設定

その他のDevToolステップオプションパラメータは、「ターゲットと設定」、「配信コントロール」、「出力とログ」、「その他」、 と「高度な設定」、のようにグループ化されています。

Incredibuild コンソール設定フィールドの詳細については、以下の設定フィールドテーブルのビルドステップ」のセクションを参照してください。

Make & Build ツール ステップの設定

「Make and Other Build Tools 」のビルドステップは、Incredibuild のMake、 MSBuild、WAF、ninja、 scons、CMake、 または、 Incredibuild がデフォルトでサポートする、その他のビルドシステムに基づくプロジェクトのビルド プロセスを高速化するために設計された、「BuildConsole \Commandコマンドラインのラッパーを提供します。

定義済みサポートビルドツールの全リストと、Make およびその他のビルドツールを高速化するための Incredibuild の使用に関する詳細については、Incredibuild オンラインマニュアルの「Makeとほかのツール向けIncredibuild」 をご覧ください。

必須設定

[Command Line] は必須です。Incredibuild で処理および高速化するコマンドラインを記入します。

Incredibuild はデフォルトで「並行プロセス」 スイッチを自動的に追加することに注意してください (Make ではこのスイッチは「-j 」、MSBuild では「 /m:」となります)。並行プロセス スイッチがすでにコマンドラインの一部である場合、Incredibuild はより多くのプロセスを並行して実行(および分散)するために、その値をより大きな値に変更します。

例えばMSBuildでは、Incredibuildは既存の「/m」 スイッチの値を「/m64」に変更します。Makeビルドシステムでは、「-J」フラグは「-j200」に変更されます。ビルドを実行する MSBuild コマンドが記載されたバッチファイル (/commnad = Batchfile) で実行コマンドが指定されている場合は、/command = Batchfile) で、ビルドを実行する MSBuild コマンドが Batch ファイル内にある場合、Incredibuild は/m の値をどう変更すればいいのか判断できないので、その値は変更されません。この場合、「/m」 コマンドを高い値で置き換えるか追加するかはユーザーが決定します(推奨はMSBuildで40以上、Makeのビルドシステム変数で100以上です)。

任意設定

Make and Build tools のオプションパラメータは、ターゲットと設定配布コントロール出力とログその他高度な設定というようにグループ化されています。

Incredibuild コンソール設定フィールドの詳細については、以下の設定フィールドテーブルのビルドステップ」のセクションを参照してください。

ビルド ステップの設定項目

以下の設定項目の一部は BuildConsole のタスクにのみ関連しています。DevTools や Make&Build ツールのタスクではご利用になれません。[Command Line] は DevTools または Make&Build ツールにのみ関連します。

特に記載がない場合はすべてのタスクに適用できます。

項目名

説明

Target Solution File

ビルドするソリューション ファイル。[BuildConsole]

Command Line

Incredibuild によって実行、高速化するコマンドライン。[DevTools / Make & Build ツール]

Build Type

実行するビルドのタイプ。[BuildConsole]ビルドクリーン再ビルド のいずれかを選択します。

Configuration

ビルドするソリューションの「platform|configuration」を決定します (例:Debug|Win32)。カンマで区切った複数の「platform|configuration」名を指定できます。例:Debug|Win32、Release|Win32.[BuildConsole]

Custom Configuration Preset

[Batch Build] ダイアログで保存したプリセットを使ってビルドするプロジェクトまたは構成。

  • このオプションはプロジェクトと構成の組み合わせが複雑なビルドや、複数の構成を並列にビルドする場合に有効です。
  • 「/Preset」コマンドオプションは、「/cfg」と「/prj」の両方のオプションを置き換えます。

[BuildConsole]

Project

ビルドするプロジェクト。デフォルトではプロジェクトの依存関係もビルドされます。[BuildConsole]

Do Not Build Dependencies for the Project

指定したプロジェクトのみビルドして依存関係を無視します。「クリーン」 と併せて使用すると、指定したプロジェクトのみをクリーニングします。「/Rebuild」と併せて使用すると、指定したプロジェクトのみをリビルドします。[BuildConsole]

Build all Projects Regardless of Errors

特定のプロジェクトでビルドに失敗してもソリューションのビルドを継続します。通常プロジェクトのビルドに失敗するとビルドを停止しますが、このオプションを使って残りのビルドを継続することができます。[BuildConsole]

useEnv

MS VisualC++ IDE パスの代わりにPATHINCLUDELIBPATH、そして、LIB 環境変数を使用します。[BuildConsole]

Add Parameters to cl.exe

cl.exe」 のすべての実行に追加されるコンパイラオプションを許可します。「cl.exe」 コマンドラインで表示されるように(例:/O2 /FA)、スペース文字で1つまたは複数のコマンドを区切って入力します。[BuildConsole]

Remove Parameters from cl.exe

cl.exe」のすべての実行から削除されるコンパイラーオプションを指定します。cl.exe のコマンドラインに表示されるように、1 つまたは複数のコマンドをスペースで区切って入力します(例: /Z7 /Zd /Zi /ZI).[BuildConsole]

Force Visual Studio Version

指定バージョンの Visual Studio ツールセットを強制的に使用します。Visual Studio ではアップグレード後に不適切なバージョンを使用してソリューションがビルドされることがあるため、アップグレードを行ったプロジェクトをビルドする場合に特に有効です。[BuildConsole]

Use MSBuild instead of Devenv

devenv の代わりに Msbuild を親ビルドの実行ツールに設定します。MSBuild のビルドステップを Incredibuild のビルドステップで置き換える場合 (これは VSTS ビルドでは一般的です)、イニシエーターマシンに Visual Studio がインストールされていない場合、または、 MsbuildArgs オプションを使って MSBuild に引数を手動で渡す必要がある場合、これを使用します。[BuildConsole]

Arguments for MSBuild

BuildConsole コマンドで /usemsbuild スイッチを使用する際に MSBuild に追加の引数を渡します。[BuildConsole]

Profile.xml

プロファイル XML ファイルは、インターセプション インターフェイスで分散ジョブ関連の各種プロセスの処理方法を定義するのに DevTools ソリューションで使用します。ソリューションのデフォルトのビヘイビアを拡張して、追加タスクを分散するための設定オプションを提供するために、Visual Studio またはMake and Build toolsのビルドで使用することができます。このファイルは、DevToolsのビルドで分散可能なプロセスを設定するために必要です。

Avoid task execution on local machine when possible

[Agent Settings] の [Avoid task execution on local machine when possible] の設定を上書きします。このオプションを有効にすると Initiator マシンのリソースが解放されます。Initiator マシンの CPU とディスク使用率が高く、ビルドのボトルネックになっている場合に役立つことがあります。

Maximum CPUs to utilize in the build

ビルドで使用するリモートコアの最大数を指定します。[Agent Settings] で指定した使用する CPU / コアの上限のグローバル設定を上書きします。

Newest allowed Helper machine OS

Helper としてビルドに参加できるマシンの OS (最新のバージョン) を指定します。

Oldest allowed Helper machine OS

Helper としてビルドに参加できるマシンの OS (最古のバージョン) を指定します。

Build Title

ビルド出力をテキスト表示する際にテキストの先頭に表示するカスタム ヘッダーを設定します。ここで設定した文字列がビルド履歴、ビルドモニター、Incredibuild ダッシュボードに表示されます。

Save Incredibuild monitor file

ビルド進行 (.ib_mon) ファイルのコピーを指定された場所に書き込みます。

  • フォルダ名のみ指定した場合は該当ファイル名の GUID が生成されます。
  • .ib_mon ファイルの保存場所がビルド出力の最後に追加されます。

Suppress STDOUT

標準出力に何も書き込みません。

Output Log file

ビルド出力をファイルに書き込みます。

Show Commands in Output

Incredibuild がビルドの実行で使用したコマンドラインをファイルに表示します。

Show Agents in output

タスクの実行で使用した Agent を出力ファイルに表示します。

Show Time in output

実行したタスクの開始時刻と終了時刻を出力ファイルに表示します。

Hide Incredibuild Header in output

ビルド出力の Incredibuild ヘッダーを非表示にします。

Internal Incredibuild logging level

ビルドに適用する Incredibuild の内部ログのレベルを上書きします。出力やユーザーがアクセスできるログには影響しません。問題を調査する際にサポート部門で使用します。

Set an Environment Variable

ビルドのコンテキストに合わせて環境変数を設定または上書きします。

Stop On Errors

有効にするとエラーが発生した時点でビルドを停止します。これはVisual Studio ビルドのデフォルトのビヘイビアですが、Make and Build toolsDev Toolsビルドのデフォルトではありません。

Additional Arguments

BuildConsole の引数を手動で追加します。この値は Incredibuild のコマンドラインの末尾に追加されます。