7.6.3. デプロイメントコンテンツのオーバーライド
デプロイメントオーバーレイ を使用すると、デプロイメントアーカイブのコンテンツを物理的に変更せずに既存デプロイメントにコンテンツをオーバーレイすることができます。これにより、アーカイブを再構築せずに実行時にデプロイメント記述子、ライブラリー JAR ファイル、クラス、Jakarta Server Pages ページ、およびその他のファイルをオーバーライドできます。
これは、異なる設定が必要な異なる環境にデプロイメントを適応する必要がある場合に便利です。たとえば、アプリケーションのライフサイクルに従って開発からテスト、ステージ、および実稼働とデプロイメントを移動する場合、目的の環境に応じてデプロイメント記述子の交換、アプリケーションのブランディングを変更するための静的 Web リソースの変更、JAR ライブラリーの別バージョンへの置き換えなどを行う可能性があります。また、方針やセキュリティーの制限によりアーカイブを変更できない、設定変更が必要なインストールにも便利な機能です。
デプロイメントオーバーレイを定義する場合、デプロイメントアーカイブのファイルを置き換える、ファイルシステム上のファイルを定義します。さらに、デプロイメントオーバーレイの影響を受けるデプロイメントを指定する必要もあります。変更を有効にするには、影響を受けるデプロイメントを再デプロイする必要があります。
パラメーター
以下のパラメーターのいずれかを使用して、デプロイメントオーバーレイを設定できます。
-
name
: デプロイメントオーバーレイの名前。 -
content
: ファイルシステム上のファイルをアーカイブの置き換えるファイルにマップするコンマ区切りリスト。各エントリーの形式はARCHIVE_PATH=FILESYSTEM_PATH
です。 -
deployments
: このオーバーレイがリンクされるデプロイメントのコンマ区切りリスト。 -
redeploy-affected
: 影響を受けるデプロイメントをすべて再デプロイします。
使用方法の詳細を表示するには deployment-overlay --help
を実行してください。
手順
deployment-overlay add
管理 CLI コマンドを使用してデプロイメントオーバーレイを追加します。deployment-overlay add --name=new-deployment-overlay --content=WEB-INF/web.xml=/path/to/other/web.xml --deployments=test-application.war --redeploy-affected
注記管理対象ドメインでは、
--server-groups
を使用して該当するサーバーグループを指定するか、--all-server-groups
を使用してすべてのサーバーグループを指定します。- デプロイメントオーバーレイの作成後、既存のオーバーレイへのコンテンツの追加、オーバーレイのデプロイメントへのリンク、またはオーバーレイの削除を行うことができます。
オプション: オーバーレイ設定を指定して、
<overlay>
の HTML、イメージ、またはビデオなどの静的 Web リソースが含まれる外部ディレクトリーにリンクできます。<overlay>
要素はアプリケーションのjboss-web.xml
ファイルにあります。この設定では、アプリケーションを再パッケージ化する必要はありません。以下の例は、
<overlay>
要素のシステムプロパティーの置換を示しています。${example.path.to.overlay} は /PATH/TO/STATIC/WEB/CONTENT の場所を定義します。例:
jboss-web.xml
ファイルの<overlay>
要素<jboss-web> <overlay>${example.path.to.overlay}</overlay> </jboss-web>
jboss-descriptor-property-replacement
がtrue
に設定されている場合、<overlay>要素
にシステムプロパティーを指定できます。jboss-descriptor-property-replacement
を設定するには、以下の管理 CLI コマンドを使用します。/subsystem=ee:write-attribute(name=jboss-descriptor-property-replacement,value=true)
このコマンドは、以下の XML コンテンツを JBoss EAP 設定の
ee
サブシステムに追加します。<subsystem xmlns="urn:jboss:domain:ee:4.0"> <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement> </subsystem>