Web 配置の Team Foundation Server を構成する

作成者: Jason Lee

このチュートリアルでは、Team Foundation Server (TFS) 2010 を構成してソリューションを構築し、Web コンテンツをさまざまなターゲット環境に展開する方法について説明します。 これには、開発者が変更を行うたびにコンテンツを自動的に展開する継続的インテグレーション (CI) シナリオが含まれます。 また、テスト環境でビルドが検証および検証されると、管理者がステージング環境への特定のビルドのデプロイをトリガーする必要がある手動トリガー シナリオを含めることもできます。 このチュートリアルのトピックでは、次を含む構成プロセス全体について説明します。

  • TFS で新しいチーム プロジェクトを作成する方法。
  • ソース管理にコンテンツを追加する方法。
  • CI とデプロイをサポートするようにビルド サーバーを構成する方法。
  • デプロイ ロジックを含むビルド定義を作成する方法。
  • 自動デプロイのアクセス許可を構成する方法。

これらのチュートリアルのイタリア語翻訳については、 を参照してください http://www.lucamorelli.it

このチュートリアルでは、TFS 2010 をインストールし、初期構成プロセスの一環としてチーム プロジェクト コレクションを作成したことを前提としています。 Visual Studio 2010 の Team Foundation インストール ガイドには、これらのタスクに関する包括的なガイダンスが記載されています。

Context

これは、Fabrikam, Inc という架空の会社のエンタープライズ展開要件に基づく一連のチュートリアルの一部です。このチュートリアル シリーズでは、サンプル ソリューションである Contact Manager ソリューションを使用して、ASP.NET MVC 3 アプリケーション、Windows Communication Foundation (WCF) サービス、データベース プロジェクトなど、複雑さの現実的なレベルの Web アプリケーションを表します。

これらのチュートリアルの中心にある配置方法は、「 ビルド プロセスの理解」で説明されている分割プロジェクト ファイルのアプローチに基づいています。この方法では、ビルド プロセスは 2 つのプロジェクト ファイルによって制御されます。1 つは、すべての移行先環境に適用されるビルド命令を含み、1 つは環境固有のビルドと配置設定を含みます。 ビルド時に、環境固有のプロジェクト ファイルが環境に依存しないプロジェクト ファイルにマージされ、ビルド手順の完全なセットが形成されます。

シナリオの概要

これらのチュートリアルの概要については、「 エンタープライズ Web 展開: シナリオの概要」を参照してください。 このチュートリアルを開始する前に、このトピックを確認することをお勧めします。

このチュートリアルの使用方法

このチュートリアルで説明されているタスクを初めて実行する場合、またはサンプル ソリューションを使用して例に従う場合は、チュートリアルのトピックを順番に実行する必要があります。 または、個々のトピックを特定のタスクのガイダンスとして使用することもできます。 このチュートリアルには、次のトピックが含まれています。

  • TFS でのチーム プロジェクトの作成。 チーム プロジェクトは、TFS でのソース管理、プロセス管理、ビルドのコア ユニットです。 ソース管理にコンテンツを追加したり、ビルド定義を作成したりする前に、チーム プロジェクトを作成する必要があります。
  • ソース管理へのコンテンツの追加。 チーム プロジェクトを作成したら、ソース管理へのコンテンツの追加を開始できます。 ビルドの構成を開始する前に、プロジェクトとソリューションを外部の依存関係と共に追加する必要があります。
  • Web 配置用の TFS ビルド サーバーの構成。 チーム プロジェクトのコンテンツをビルドする場合は、ビルド サーバーを構成する必要があります。 ほとんどの場合、これは TFS インストールとは別のコンピューター上にある必要があります。 ビルド サーバーを構成するには、TFS ビルド サービスのインストールと構成、Visual Studio 2010 のインストール、ビルド コントローラーとビルド エージェントの作成、コードで正常にビルドするために必要なすべての製品またはコンポーネントのインストール、インターネット インフォメーション サービス (IIS) Web 配置ツール (Web 配置) のインストールが必要です。
  • デプロイをサポートするビルド定義の作成。 TFS でビルドのキューまたはトリガーを開始する前に、チーム プロジェクト用に少なくとも 1 つのビルド定義を作成する必要があります。 ビルド定義は、ビルドに含める必要のあるもの、ビルドをトリガーする必要がある内容、チーム ビルドがビルド出力を送信する場所など、ビルドのすべての側面を定義します。 カスタム Microsoft Build Engine (MSBuild) プロジェクト ファイルを実行するようにビルド定義を構成できます。これにより、自動ビルドに配置ロジックを含めることができます。
  • 特定のビルドのデプロイ。 多くのシナリオでは、最新のビルドではなく特定のビルドをターゲット環境にデプロイする必要があります。 この場合は、特定のドロップ フォルダーからコンテンツをデプロイするビルド定義を構成できます。
  • Team Build Deployment のアクセス許可の構成。 ビルド サービスが自動ビルド プロセスの一部としてコンテンツを展開する場合は、移行先の Web サーバーとデータベース サーバー上のビルド サービス アカウントにさまざまなアクセス許可を付与する必要があります。

主なテクノロジ

このチュートリアルでは、これらの製品とテクノロジを使用して、自動ビルドと Web デプロイをサポートする方法について説明します。

  • Visual Studio Team Foundation Server 2010
  • チーム ビルドと MSBuild
  • Web デプロイ

このチュートリアルでは、Windows Server 2008 R2、IIS 7.5、SQL Server 2008 R2、ASP.NET 4.0、ASP.NET MVC 3 の使用についても説明します。

このシリーズのその他のチュートリアル

これは、エンタープライズ規模の Web デプロイに関する一連の 5 つのチュートリアルの一部です。 シリーズの他のチュートリアルは次のとおりです。

  • エンタープライズ シナリオでの Web アプリケーションの展開。 この入門コンテンツは、チュートリアル シリーズのコンテキスト背景を提供します。 チュートリアル シナリオについて説明し、シリーズ全体で説明されているタスクとチュートリアルが、より広範なアプリケーション ライフサイクル管理 (ALM) プロセスにどのように適合するかを示します。
  • エンタープライズでの Web 展開。 このチュートリアルでは、MSBuild プロジェクト ファイル、Web 発行パイプライン (WPP)、Web 配置、およびその他の関連テクノロジの概念的な概要について説明します。 これらのツールを一緒に使用して複雑な展開プロセスを管理する方法について説明します。
  • Web 展開用のサーバー環境の構成。 このチュートリアルでは、Web Deployment Agent サービス (リモート エージェント) を使用したリモート Web パッケージの展開、Web 配置ハンドラー、リモート データベースの展開など、さまざまな展開シナリオをサポートするように Windows サーバーを構成する方法について説明します。 独自の環境に適した展開方法の選択に関するガイダンスを提供し、Web ファーム フレームワーク (WFF) を使用して、サーバー ファーム内のすべての Web サーバーにデプロイされた Web アプリケーションをレプリケートする方法について説明します。
  • Advanced Enterprise Web Deployment。 このチュートリアルでは、複数の環境のデータベースデプロイをカスタマイズし、展開からファイルとフォルダーを除外したり、デプロイ プロセス中に Web アプリケーションをオフラインにしたりなど、より高度なさまざまな展開タスクを実行する方法について説明します。