ビルド ワークスペースの使用

アプリの開発のために開発用コンピューターにワークスペースが必要なのと同じように、ビルド エージェントでアプリをビルドまたはテストするために使用するワークスペースを指定する必要があります。

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

  • ビルド定義用のワークスペースを指定する

  • ビルド ワークスペース定義の例を参照する

  • ワークスペース間でデータをコピーする

  • ビルド ワークスペースのしくみについて

ビルド定義用のワークスペースを指定する

ビルド プロセスを定義する場合は、ワークスペースを指定するときのベスト プラクティスに従う必要があります。

必要なフォルダーをすべて含める。

必ず、ビルド処理に必要なファイルが存在するすべてのフォルダーを含めてください。 たとえば、[プロセス] タブの [プロジェクト] フィールドに別のソリューションを追加する場合、ワークスペースに別のマッピングの追加が必要になることがあります。

必要なフォルダーのみ含める。

ビルド プロセスに必要なフォルダーのみ、[状態][アクティブ] にしてマップします。 マップされたフォルダーのサブフォルダーに、ビルド プロセスに必要ないファイルが含まれている場合、[状態] の値を [クローク] にしてマップします。 多くの状況では、ビルド定義を作成するとき、チーム プロジェクトのルート フォルダーがワークスペースでマップされます。 この構成では、ビルド エージェントが、チーム プロジェクトのバージョン コントロール フォルダーですべてのファイルをダウンロードします。 このフォルダーに多くのデータが存在する場合、必要のないデータが大量にダウンロードされるため、ビルドでビルド システム リソースが浪費され、ビルド プロセスの速度が低下する可能性があります。

[プロセス] タブの [プロジェクト] フィールドから項目を削除するときには、ワークスペースから削除できるマッピングを探してください。

ヒント

ワークスペースの最適化の詳細については、「ワークスペースの最適化」を参照してください。

$(SourceDir) トークンを使用して、サーバー フォルダーを \Sources サブディレクトリの ローカル フォルダーにマップする。

ほとんどの場合、ビルド エージェント上でソース ファイルを保管するために最適な場所は、作業ディレクトリ内の ..\Sources サブディレクトリの下です。 この場所は、[ビルド エージェント フォルダー] ボックスで $(SourceDir) トークンを使用することで指定できます。

チェックインによりトリガーされるビルド定義にワークスペースが与える影響に注意する。

ビルド定義の [トリガー][継続的インテグレーション][ビルドのロール]、または [ゲート チェックイン] に設定した場合、マップされたサーバー フォルダーがビルド プロセスにバインドされます。 次に例を示します。 開発者は、変更をフォルダーにチェックインします。 フォルダーはビルド定義のワークスペースにマップされ、そのビルド定義には [ゲート チェックイン] トリガーが含まれます。 変更は、ビルド プロセスが完了するまでブロックされます。

ビルド定義のワークスペースの例

ビルド エンジニアの Roberto 氏が Storefront Nightly ビルド定義を作成しました。

ビルド定義ワークスペースの例

手順 1.このビルド定義は、$/Core/Controllers/Controllers.sln および $/Core/Viewers/Viewers.sln の 2 つのソリューションをビルドします。 そのため、これらのソリューションが存在する 2 つのフォルダー、それらのフォルダーが含まれるプロジェクト、および必要な他のすべてのファイルをマップする必要があります。

手順 2. ビルド処理の効率を上げるため、Roberto 氏はビルド処理が必要としないドキュメント ファイルが存在するフォルダー $/Core/Viewers/Docs を除外しています。

手順 3.ソリューションは、他社のコンポーネント ライブラリに存在するいくつかのバイナリに依存しています。 これらのバイナリは、特定の物理フォルダー c:\adatum\widgets に配置することを要求する独自のメカニズムによって保護されます。

ワークスペース間でデータをコピーする

あるワークスペースから別のワークスペースにマッピングをコピーすることで、時間を節約できます。

いずれかのワークスペースからマッピングをコピーするには

  1. [既存のワークスペースのコピー] をクリックします。

  2. [コピーするワークスペースを選択] ダイアログ ボックスで、ワークスペースからマッピングをコピーします。

別のビルド定義ワークスペースまたは別のチーム メンバーのワークスペースからマッピングをコピーするには

  1. 次のいずれかの操作を実行します。

    • 別のビルド定義ワークスペースからマッピングをコピーするには、ビルド定義を開き、[ソース設定] タブをクリックします。

    • 別のチーム メンバーのワークスペースからマッピングをコピーするには、メニューバーから [ファイル][ソース管理][詳細設定][ワークスペース] を選択するようにチーム メンバーに依頼します。 ワークスペースを選択し、[編集] をクリックします。

  2. [作業フォルダー] テーブルの行のショートカット メニューを開き、[すべて選択] をクリックします。

  3. [作業フォルダー] テーブルの行のショートカット メニューを開き、[コピー] をクリックします。

  4. テキスト ファイルを作成し、クリップボードの内容をテキスト ファイルに貼り付けて保存します。

  5. ビルド定義を作成するか、コピーする対マッピングの対象である既存のビルド定義を変更します。

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

  6. [ソース設定] タブで、[作業フォルダー] テーブルの行のショートカット メニューを開き、[貼り付け] をクリックします。

  7. 必要に応じて、マッピングをビルド エージェントでの使用に合わせます。 特に、[ビルド エージェント フォルダー] ボックスの値が適切で、必要な場合は $(SourceDir) トークンが含まれていることを確認してください。

ビルド ワークスペースのしくみについて

ビルド処理では、ビルド エージェントがソース ファイルのコンパイルと他の操作を行います。 ビルド エージェントは、この操作を行う前に、バージョン コントロール サーバー上のフォルダーからローカル作業ディレクトリにファイルをダウンロードします。 これらのファイルをダウンロードしやすくするため、ビルド エージェントはサーバー上のフォルダーをビルド エージェントの作業ディレクトリ内のローカル フォルダーにマップするバージョン コントロール ワークスペースを作成します。

ビルド ワークスペースが果たす役割

ビルド処理の開始前

手順 1.ビルド システムで、各ビルド エージェントの作業ディレクトリを設定します。 詳細については、「ビルド エージェントの配置および構成」を参照してください。

手順 2. ビルド定義を作成するときは、[ワークスペース] タブで、ダウンロードするファイルが存在するフォルダーと、これらのフォルダーをビルド エージェント上のローカル フォルダーにマップする方法を指定します。

ビルド処理中

手順 3. ビルド プロセスは、ワークスペースの仕様を CreateWorkspace ワークフロー アクティビティに渡して、その作業ディレクトリ内でワークスペースを作成します。

手順 4.ビルド プロセスは、DownloadFiles アクティビティを使用してファイルをワークスペースにダウンロードします。 この手順の後、ビルド エージェントはそれらのファイルを操作 (コンパイルなど) です。