ヘッダーをスキップ
Oracle Fusion Middleware Oracle WebLogic Server アプリケーションのデプロイメント
11g リリース 1 (10.3.1)
B55511-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

7 開発ドメインへのアプリケーションの自動デプロイ

自動デプロイメントは、評価またはテストのために、スタンドアロン サーバ (管理サーバ) にアプリケーションを迅速にデプロイするための手段です。この方法は、単一サーバの開発環境でのみ使用することをお勧めします。


注意 :

アプリケーションのデプロイ時には、自動デプロイではなく、WebLogic Server の分割開発ディレクトリおよび wldeploy Ant タスクを使用することをお勧めします。『Oracle Fusion Middleware Oracle WebLogic Server アプリケーションの開発』の「分割開発ディレクトリ環境の作成」を参照してください。

自動デプロイメントが有効な場合は、アプリケーションが管理サーバの \autodeploy ディレクトリにコピーされると、その管理サーバは新しいアプリケーションの存在を検出し、それを自動的にデプロイします (管理サーバが動作している場合)。アプリケーションを \autodeploy ディレクトリにコピーしたときに WebLogic Server が稼働していない場合、そのアプリケーションは WebLogic Server の管理サーバが次に起動したときにデプロイされます。自動デプロイメントは管理サーバに対してのみデプロイします。


注意 :

Windows のファイル ロックの制限により、アプリケーションが展開された場合、アプリケーション内のすべてのモジュールも展開されます。つまり、展開するアプリケーションまたはモジュールに JAR ファイルが含まれる場合、自動デプロイメントは使用できません。

自動デプロイメントは、開発環境において単一サーバの対象で使用することを想定されています。Administration Console など、他のツールを使用して自動デプロイ済みの展開されたアプリケーションに対象を追加した場合、アプリケーションを再デプロイしても新しい対象サーバに変更は伝わりません。


以下の節では、開発環境で自動デプロイメントを使用する方法について説明します。

自動デプロイメントの有効化と無効化

WebLogic Server ドメインは、開発環境とプロダクション環境の 2 つの異なるモードで実行できます。ただし、自動デプロイメント機能は開発モードでのみ使用できます。

開発モードでは、WebLogic Server インスタンスは domain_name/autodeploy ディレクトリ (domain_name は WebLogic Server ドメインの名前) にあるアプリケーションを自動的にデプロイおよび更新できます。プロダクション モードでは自動デプロイメント機能が無効になり、プロダクション モードに切り替えた後で autodeploy ディレクトリに置いたアプリケーションはデプロイされません。開発モードからプロダクション モードに切り替えた場合、以前に autodeploy ディレクトリからデプロイされたアプリケーションはデプロイされたままになります。プロダクション モードに切り替えた後でそのようなアプリケーションをアンデプロイまたは再デプロイする場合は、手動でアンデプロイまたは再デプロイする必要があります (たとえば、「weblogic.Deployer コマンドライン リファレンス」で説明するように、weblogic.Deployer コマンドと -undeploy または -redeploy オプションを使用します)。

デフォルトでは、WebLogic Server ドメインは開発モードで稼働します。ドメインのモードを指定する方法については、『Oracle Fusion Middleware コンフィグレーション ウィザードを使用したドメインの作成』を参照してください。

アーカイブされたアプリケーションの自動デプロイ、再デプロイ、およびアンデプロイ

アーカイブされたアプリケーションを自動デプロイするには、そのアーカイブ ファイルを /autodeploy ディレクトリにコピーします。WebLogic Server はアプリケーションのデプロイメント モードを自動的に stage モードに設定します。

自動デプロイされたデプロイメント ユニットは、サーバの稼働時に動的に再デプロイできます。動的に再デプロイするには、アーカイブ ファイルの新バージョンを /autodeploy ディレクトリ内の既存ファイルに上書きコピーします。

自動デプロイ済みのアーカイブされたデプロイメント ユニットをアンデプロイするには、/autodeploy ディレクトリからアプリケーションを削除します。WebLogic Server は、アプリケーションを停止してコンフィグレーションから削除します。


注意 :

サーバがアクティブでないときに /autodeploy ディレクトリからアプリケーションを削除すると、サーバが再びアクティブな状態になった場合でも、WebLogic Server はアプリケーションが削除されたことを検出しません。ドメイン ツリーの同期を保つために、サーバがアクティブな状態の場合にのみ /autodeploy ディレクトリからアプリケーションを削除することをお勧めします。

展開アーカイブの自動デプロイ、再デプロイ、およびアンデプロイ

展開されたアーカイブ形式でアプリケーションを自動デプロイするには、展開されたアーカイブ ディレクトリ全体を /autodeploy ディレクトリにコピーします。WebLogic Server は、nostage デプロイメント モードを使用して、展開されたアーカイブ アプリケーションを自動的にデプロイします。


注意 :

Windows のファイル ロックの制限により、展開された EAR ディレクトリをデプロイするとき、そのディレクトリにアーカイブされたモジュール (JAR ファイル) が含まれている場合、JAR ファイルはデプロイメント中はロックされて、削除できなくなります。したがって、自動デプロイするアプリケーションが展開されている場合は、そこに含まれているモジュールもすべて展開しておく必要があります。

展開されたアーカイブ ディレクトリ全体の内容が /autodeploy ディレクトリ内にない場合に、アプリケーションを展開されたアーカイブ形式でデプロイしようとすると、自動デプロイメントは失敗します。展開されたアーカイブ形式の大きなアプリケーションを /autodeploy ディレクトリへコピーするのは時間がかかるため、サーバが非アクティブ状態にあるときに、展開されたアーカイブ ディレクトリを /autodeploy ディレクトリにコピーすることをお勧めします。展開されたアーカイブ ディレクトリ全体が /autodeploy ディレクトリにコピーされた後で、サーバをアクティブ状態に戻すと、アプリケーションは自動デプロイされます。または、大きなアプリケーションは weblogic.Deployer を使用してデプロイすることをお勧めします。「weblogic.Deployer コマンドライン リファレンス」を参照してください。


アプリケーションが展開されたアーカイブ形式で自動デプロイされている場合、管理サーバは、展開されたアプリケーションのディレクトリ内で REDEPLOY というファイルを定期的に検索します。このファイルのタイムスタンプが変更されている場合、管理サーバは展開ディレクトリを再デプロイします。

展開されたアプリケーション ディレクトリ内のファイルを再デプロイするには、次の手順に従います。

  1. 展開されたアプリケーション ディレクトリを初めてデプロイする場合、REDEPLOY という名前の空のファイルを作成し、そのファイルを、デプロイするアプリケーションのタイプに応じて、WEB-INF または META-INF ディレクトリに配置します。

    展開されたエンタープライズ アプリケーションには、最上位に META-INF ディレクトリがあり、このディレクトリに application.xml ファイルが格納されています。

    展開された Web アプリケーションには、最上位に WEB-INF ディレクトリがあり、このディレクトリに web.xml ファイルが格納されています。

    展開された EJB アプリケーションには、最上位に META-INF ディレクトリがあり、このディレクトリに ejb-jar.xml ファイルが格納されています。

    展開されたコネクタには、最上位に META-INF ディレクトリがあり、このディレクトリに ra.xml ファイルが格納されています。


    注意 :

    REDEPLOY ファイルは、デプロイされたアプリケーション全体またはスタンドアロン モジュールに対してのみ機能します。展開されたエンタープライズ アプリケーションをデプロイした場合、REDEPLOY ファイルは、個別のモジュール (Web アプリケーションなど) ではなく、アプリケーション全体の再デプロイメントを制御します。Web アプリケーション自体を展開されたアーカイブ ディレクトリとしてデプロイする場合、REDEPLOY ファイルは Web アプリケーション全体の再デプロイメントを制御します。

  2. 展開されたアプリケーションを再デプロイするには、更新されたファイルをそのディレクトリ内の既存のファイルに上書きコピーします。

  3. 新しいファイルをコピーしたら、展開ディレクトリ内の REDEPLOY ファイルのタイムスタンプを更新します。

管理サーバは、タイムスタンプの変更を検出すると、展開ディレクトリのコンテンツを再デプロイします。


注意 :

自動デプロイしたアプリケーションの再デプロイを開始する場合は常に、REDEPLOY ファイルを touch する (タイムスタンプを変更する) 必要があります。サーバが停止状態のときにアプリケーションを変更する場合でも、REDEPLOY ファイルを touch し、次回のサーバ起動時に変更が確実に適用されるようにする必要があります。

展開形式で自動デプロイしたアプリケーションをアンデプロイするには、weblogic.Deployer -undeploy コマンドを使用するか、または Administration Console を使用して、デプロイメントのコンフィグレーションを削除します。次に、/autodeploy ディレクトリからアプリケーション ファイルを削除します。


注意 :

サーバがアクティブでないときに /autodeploy ディレクトリからアプリケーション ファイルを削除すると、サーバが再びアクティブな状態になった場合でも、WebLogic Server はアプリケーション ファイルが削除されたことを検出しません。ドメイン ツリーの同期を保つために、サーバがアクティブな状態の場合にのみ /autodeploy ディレクトリからアプリケーション ファイルを削除することをお勧めします。

自動デプロイメントの制限事項

自動デプロイしたアプリケーションは、開発環境では大変便利ですが、いくつかの制限事項があります。