次の方法で共有


カスタム マニフェストの使用

作成者: Faith A

このクイック ガイドは、カスタム マニフェストを作成して同期するのに役立ちます。 Web サイトを同期し、Web サイトに対して自動的に収集されないアプリケーション プール、外部ディレクトリ、アセンブリと COM オブジェクトを含めます。

前提条件

このガイドには、次の前提条件が必要です。

  • .NET Framework 2.0 SP1 以上
  • Web 配置ツール 1.1

注: Web 配置ツールをまだインストールしていない場合は、Web 配置のインストールに関するページを参照してください。

マニフェストの概要

マニフェストとは、単にプロバイダーを 1 つの定義ファイルにまとめたものです。 これは、Web サイト、アプリケーション プール、アセンブリなど、同期に含める複数のパスを指定する方法です。 複数の Web サイト、複数のディレクトリ、またはその他のパスを指定するために使用できます。

注: この記事では、IIS 7 以降の Web サイトとアプリケーション プールを移動する方法について説明しますが、IIS 6.0 のマニフェストを使用して IIS 6.0 の Web サイトとアプリケーション プールを指定することもできます。

サンプル マニフェスト

<myCustomSite>
    <appHostConfig path="TestWebSite" />
    <appPoolConfig path="TestAppPool" />
    <dirPath path="C:\MyExtraFiles" />
    <gacAssembly path="'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'" />
    <comObject path="Microsoft.ApplicationHost.AdminManager" />
</myCustomSite>

カスタム マニフェストを作成して使用するには

  1. メモ帳を開き、XML ファイルを作成します。 これに Custom.xml という名前を付けます。

  2. サンプル マニフェストを Custom.xml にコピーします。

  3. Custom.xml を、インストール ディレクトリ %programfiles%\IIS\Microsoft Web Deploy にコピーします。

  4. C: ドライブに MyExtraFiles という名前のディレクトリを作成します。

  5. 次のコマンドを実行して、マニフェスト内のオブジェクトをパッケージ (圧縮) ファイルに同期します。

    msdeploy.exe -verb:sync -source:manifest=Custom.xml -dest:package=c:\CustomPackage.zip > WebDeployPackage.log
    

    > WebDeployPackage.log を指定すると、パッケージの結果がログ ファイルに一覧表示され、簡単に参照できます。

パッケージを開きます。 サイト自体と指定した追加のディレクトリが表示されます。

後で、パッケージを同期元として使用し、マニフェスト ファイルで指定された同期先に同期できます (つまり、パッケージからマニフェストで指定されているプロバイダーに同期します)。

パッケージを使用せずに、ライブでマニフェストを使用して同期操作を実行することもできます。 マニフェストを使用して同期するには、同期元引数と同期先引数の両方でマニフェスト ファイルを指定する必要があります。

カスタム マニフェストを使用してサイトを同期するには

  1. 次のコマンドを実行して、マニフェストをリモートの同期先に同期します。 リモート コンピューターは、computername 引数で指定します。

    msdeploy.exe -verb:sync -source:manifest=custom.xml -dest:manifest=custom.xml,computername=Server1 > webdeploysync.log
    

まとめ

ここでは、カスタム マニフェストを作成し、同期に使用しました。 レジストリ キーや GAC のアセンブリなど、Web サイトまたはサーバーにとって重要なプロバイダー パスを追加することで、マニフェストをさらに拡張できます。 マニフェスト プロバイダーの詳細については、Web 配置マニフェスト プロバイダーに関するページを参照してください。