2012/05/11

System Center 2012 RTM > VMM で 2 層アプリをサービス展開 (その3)

「System Center 2012 RTM > VMM で 2 層アプリをサービス展開 (その3)」の続きです。前回は、2 層アプリケーションを展開しましたが、Web Deploy アプリケーションの接続文字列の問題で、Web.config を手動で修正して、サービス展開を何とか完了させました。

今回は、この問題をサービスの更新で修正したいと思います。そのために、接続文字列の問題を修正した Web Deploy パッケージを準備しました (Visual Studio は使用せず、Web Deploy 用パッケージ (.zip) ファイル内の Web.config と Parameters.xml を直接変更しました)。

データベースの更新

フロントエンドのアプリケーションも問題修正のついでに、データ層の仮想マシン部分を更新したときに、データベースに登録済みのデータが引き継がれるものかどうかも確認してみたいと思います。
そのために、データベースにデータを 1 件登録しておきました。


サービス テンプレートの更新

サービス展開に使用したサービス テンプレートを開き、新しいリリースとして更新します。


Web 層の仮想マシンのプロパティを開き、「アプリケーションの構成」で Web アプリケーションを更新バージョンに差し替えます。あた、接続文字列のパラメーターに「@パラメーター名@」と入力します。

データ層のほうは、DAC パッケージは変更せず、仮想マシンの VHD のみを更新バージョン (実際には元の VHD の単純なコピー)  と入れ替えます。これは、ついでのテスト用の手順です。Web Deploy のアプリケーションには関係しません。


新しいリリースのサービス テンプレートが完成したら、保存し、展開済みサービスのテンプレートとして差し替えます。


アプリケーション設定の変更を検出するので、接続文字列をここで入力。


フロントエンドはアプリケーションのみの更新、バックエンドは仮想マシンの再作成を指示します。


変更を確認して Go !!

更新中...


大成功!!!


データ層の仮想マシン部分を入れ替えると、データは無くなっちゃうようです。たぶん、DAC パッケージの更新でもそうだろうと思います。このあたりは、データ退避と再登録の処理を組み込まないといけなそう。アプリケーションの構成のアプリケーション スクリプト (プレ、ポスト) で SQL を流せるのを利用すると良いかも。

← 戻る

0 件のコメント: