シナリオ: Web 展開のステージング環境を構成する

作成者: Jason Lee

このトピックでは、ステージング環境の一般的な Web デプロイ シナリオについて説明し、同様の環境を設定するために完了する必要があるタスクについて説明します。

多くの組織では、ステージング環境を使用して、Web アプリケーションまたは Web サイトの更新をプレビューします。 これにより、組織内のユーザーは、サイトが "稼働" する前、または運用環境にデプロイされる前に、新しい機能やコンテンツを探索して確認できます。 ステージング環境は、現実的なプレビューを提供するために、運用環境を可能な限り厳密にレプリケートするように設計されています。 この種のステージング環境には、通常、次の特性があります:

  • この環境は、複数の負荷分散された Web サーバーと 1 つ以上のデータベース サーバーで構成されます。多くの場合、フェールオーバー クラスタリングとデータベース ミラーリング。
  • アプリケーションは、開発チームによって手動でデプロイすることも、Team Build サーバーによって自動的にデプロイすることもできます。
  • アプリケーションをデプロイするユーザーまたはプロセス アカウントは、ステージング サーバーに対する管理者特権を持つ可能性はほとんどありません。
  • アプリケーションに対する変更は頻繁にデプロイされるため、環境ではシングル ステップまたは自動デプロイをサポートする必要があります。

Note

複数のサーバー間でのデータベース デプロイのスケールアウトは、このチュートリアルの範囲外です。 この領域の詳細については、「SQL Server オンライン ブック」を参照してください。

たとえば、チュートリアル シナリオでは、Team Foundation Server (TFS) が Contact Manager ソリューションを管理します。 TFS 管理者の Rob Walters は、開発者が必要に応じてステージング環境へのデプロイをトリガーできるビルド定義を作成しました。

The TFS administrator, Rob Walters, has created a build definition that lets developers trigger a deployment to the staging environment as required.

ほとんどの場合、最新のビルドをステージング環境にデプロイする必要はありません。 代わりに、テスト環境で検証と検証が既に行われる特定のビルドをデプロイする可能性が高くなります。

ソリューションの概要

このシナリオでは、デプロイ要件の分析からこれらの事実を推測できます:

  • デプロイを実行するユーザーまたはプロセス アカウントにはステージング サーバーに対する管理者特権がないため、ステージング Web サーバーは管理者以外のデプロイをサポートする必要があります。 そのため、リモート エージェントではなく Web デプロイ ハンドラーを使用するようにステージング Web サーバーを構成する必要があります。
  • ステージング環境には複数の Web サーバーが含まれていますが、ワンクリックまたは自動デプロイをサポートする必要があるため、Web ファーム フレームワーク (WFF) を使用してサーバー ファームを作成する必要があります。 この方法を使用すると、アプリケーションを 1 つの Web サーバー (プライマリ サーバー) にデプロイでき、WFF はステージング環境の他のすべての Web サーバーにデプロイをレプリケートします。
  • デプロイを実行するユーザーまたはプロセス アカウントには、データベースを作成するためのアクセス許可が必要です。 そのため、リモート アクセスとデプロイをサポートするようにデータベース サーバーを構成するだけでなく、データベース サーバーの dbcreator サーバー ロールにアカウントを追加する必要があります。

これらのトピックでは、これらのタスクを完了するために必要なすべての情報を提供します:

もっと読む

一般的な開発者テスト環境の構成に関するガイダンスについては、「シナリオ: Web デプロイ用のテスト環境の構成」を参照してください。 一般的な運用環境の構成に関するガイダンスについては、「シナリオ: Web デプロイの運用環境の構成」を参照してください。