2011/07/19

VMM2012BETA > Web Deploy > IIS に Web Deploy

System Center Virtual Machine Manager (SCVMM) 2012 Beta のサービス展開の、Web 階層の自動展開の仕組みを理解するため、その要素技術である Web Deploy (Web Deployment Tool/Web 配置ツール) についてのお勉強です。まずは、素の IIS (稼働中の Web サーバー) に、Web Deploy を使用して Web アプリケーションを配置する方法を確認します。今回作成した Web アプリケーションの配置パッケージを、そのまま Windows Azure への展開や SCVMM 2012 Beta のサービス テンプレートでも利用するつもりで...


IIS に Web Deploy 2.0 をインストールする

IIS で Web Deploy による Web アプリケーションの配置を可能にするには、IIS に Web Deploy 2.0 をインストールしておくだけ。Web Deploy 2.0 を IIS 環境にインストールしてもいいですが、Web Platform Installer 3.0 を使うとより簡単。

Web Deploy 2.0
http://www.iis.net/download/WebDeploy

Web Platform Installer 3.0 
http://www.microsoft.com/web/downloads/platform.aspx

Web Deploy 2.0 をインストールすると、IIS マネージャーに Web Deploy によるアプリケーションのインポート/エクスポート機能が追加されます。また、コマンドラインからのデプロイを可能にする msdeploy.exe (IIS 7.0 Extensions\Web Deploy コマンドライン) が利用可能になります。

Visual Studio 2010 で Web アプリケーションを作成し、パッケージ化する


IIS にデプロイする Web アプリケーションのパッケージ (.zip) は、Visual Studio 2010 (Web Platform Installer 3.0 を使用してインストールできる 無償の Visual Studio Web Developer 2010 Express で OK) や Web Matrix (こちらも Web Platform Installer 3.0 からインストールできます) から作成できます。これらの開発ツールから、Web Deploy 対応の IIS に Web アプリケーションを直接発行することもできます。

超簡単な Web アプリケーション (ASP.NET アプリケーション) で実際に試してみましょう。

Visual Studio 2010 で「新しいプロジェクト」を作成します。プログラミングはしないので、言語は何でもいいです。テンプレートもなんでもいいんですが、「Web」の「ASP.NET Web アプリケーション」を選択します。

「ASP.NET へようこそ!」という既定の Web ページができるので、そのままでもいいですし、適当にテキストを変更するなどします(例えば、「Web Deployment Tool のテスト」という文字のところ)。プログラミングは面倒なので省略します。

Web アプリケーションの開発はここまで。「ソリューション エクスプローラー」でソリューション名を右クリックし、「パッケージ化/発行の設定」を開きます。



「Web のパッケージ化/発行」の「対象サーバーで使用する IIS Web サイト/アプリケーション名」を必要に応じて変更します。既定は「Default Web Site/ソリューション名_deploy」なので、「_deploy」を取るとすっきりします。


これで準備は OK。「ソリューション エクスプローラー」でソリューション名を右クリックし、「配置パッケージの作成」をクリックします。アプリケーションがビルドされたあと、「ソリューション名.zip」という名前のパッケージが作成されます。

同じ場所に、バッチファイル (~deploy.cmd) とテキストファイル(~deploy-readme.txt.cmd) 、XMLファイルもできます(PackageTempはいらないです)。テキストファイルを見ると、バッチファイルを実行すれば、デプロイできることが書いてあります。

パッケージ (.zip) を IIS にデプロイする

配置先の IIS にパッケージをデプロイする前に、IIS の既定のアプリケーション プールを「DefaultAppPool」から「ASP.NET v4.0」に変更しておきます。これをしないと、デプロイに失敗します。




配置先の IIS のコンピューターに、パッケージ (.zip と .cmd、.xml) をコピーし、バッチファイルを「/Y」オプション付きで実行します。 これで、Web アプリケーションのデプロイが完了しました。

バッチファイルを使用せずに、IIS マネージャーの「アプリケーションのインポート」を使用して、パッケージ (.zip) をインポートすることもできます。


Web ブラウザーでアプリケーションの URL を開いてみると、確かにデプロイされています。


次は、この同じ Web アプリケーションを Windows Azure の Web ロールにデプロイしてみたいと思います。

→ VMM2012BETA > Web Deploy > VMM2012 で Web Deploy
→ VMM2012BETA > Web Deploy > Azure で Web Deploy
+ VMM2012BETA > Web Deploy > IIS に Web Deploy


つづく...

0 件のコメント: