Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

27.2. 拡張例: Common Provisioning Use Cases(およびどのように処理ファイルがあるか)

「コンテンツバンドルのプロビジョニングの概要」 バンドルおよびプロビジョニングシステム内のさまざまな要素について説明しますが、プロビジョニングとは何か?プロビジョニングが実際の環境でどのように機能するかを示す一般的なユースケースがいくつかあります。
  • 完全なアプリケーションサーバーのデプロイメント
  • アプリケーションサーバーへの Web アプリケーションのデプロイメント
  • 設定ファイルのデプロイ
重要
すべての点に注意する点として、バンドルはポイント A(JBoss ON)からコンテンツを取り、ポイント B(宛先)に送信することです。これは単純なコピー操作(「プロビジョニング中のファイル処理」)ではありません。デフォルトでは、プロビジョニングシステムは、宛先ポイント B を、バンドルのディレクトリーのレイアウト方法と完全に一致させます。これは、ファイルの追加または編集、サブディレクトリーの作成または削除、および宛先から既存のコンテンツを削除することを意味します。
宛先のレイアウトと内容を管理するという概念は、コンテンツのデプロイ方法と影響に影響します。

27.2.1. フルアプリケーションサーバーのデプロイメント

バンドルの詳細

これは、プロビジョニングシステムにおける、アプリケーションサーバー全体のデプロイのコアとなる方法です。このバンドルには、JBoss EAP のようなサーバー(Tomcat または Apache)などのサーバーの完全な設定スタックが含まれます。バンドルには、アプリケーションが使用するすべてのファイル(EAP サーバーの JAR と設定ファイルおよびスクリプト)、およびその EPA インスタンスにデプロイするすべての EAR または WAR Web アプリケーションが含まれます。すべてのアプリケーションサーバーと Web アプリケーションファイルおよびディレクトリーはアーカイブに圧縮され、Ant レシピを deploy.xml 定義します。

ファイル処理の詳細

これは完全なアプリケーションサーバーであるため、などの新しい(または空の)ディレクトリー内にデプロイされ /opt/my-applicationます。そのディレクトリーはアプリケーションサーバー専用となるため、バンドルによって完全に 管理 されます。

バンドルシステムにコンテンツのデプロイ方法を指示する compliance と呼ばれるレシピには属性があります。完全なアプリケーションサーバーをデプロイする場合、バンドルシステムはディレクトリーを完全に制御する必要があるため、フル に設定 compliance されます。これは、以下のようになります。
  • バンドルディストリビューションファイルのファイルおよびサブディレクトリーのみがルートディレクトリーに置かれます。
  • 既存のファイルまたはサブディレクトリーは削除されます。
  • ファイルまたはサブディレクトリーがルートディレクトリーに追加されると、そのファイル(レシピでの設定)が明示的に無視されない限り、バンドルの更新時または再デプロイ時にファイルが削除されます。

27.2.2. Web アプリケーションのデプロイ

完全なアプリケーションサーバーをデプロイする代わりに、Web アプリケーションをアプリケーションサーバーにデプロイできます。ただし、アプリケーションサーバーと Web アプリケーションの両方のディレクトリーレイアウトを理解します。
たとえば、これはアプリケーションサーバーのデプロイメントディレクトリーパスです。
/opt/my-application/deploy
目的は、新しい Web アプリケーションを deploy/ ディレクトリー myApp1.war にデプロイすることです。
/opt/my-application/deploy/myapp1.war/

バンドルの詳細

この場合、バンドルファイルには WAR ファイルと deploy.xml レシピのみが含まれます。

ファイル処理の詳細

アプリケーションサーバーとは異なり、Web アプリケーションをデプロイする際には、他の Web アプリケーションも deploy/ ディレクトリーにあります。バンドルシステムは、ルートディレクトリーを管理しないでください。つまり、バンドルに含まれていない場合でも、既存のファイルまたは新しいファイルは root ディレクトリー内で許可する必要があります。

ここでの目的は、ディレクトリーのコンテンツの管理ではなく、WAR ファイルをデプロイしてそのコンテンツに追加することです。したがって、レシピは compliance=fileAndDirectories、バンドル外のディレクトリー内の既存ファイルを残すようにプロビジョニングシステムに指示する必要があります。
注記
設定すると、バンドルデプロイメント以外のファイル compliance=filesAndDirectories のみが保存されます。bundle ディレクトリーがの場合 deploy/myApp/、バンドルのデプロイ時に、などのファイル deploy/myApp/ やサブディレクトリーのファイルはすべて deploy/myApp/WEB-INF/ 上書きまたは削除されます。バンドルディストリビューション で定義されるサブディレクトリーは、バンドルシステムによって完全 に管理されます。
1 つの検討事項として、ルートディレクトリーに 1 つのバンドルしかデプロイできない点が挙げられます。同じ EAP サーバーに複数の Web アプリケーションをデプロイし、それらすべてがプロビジョニングシステムで管理される場合は、2 つのオプションがあります。
  • 同じバンドルディストリビューションに含まれるすべての Web アプリケーションを含めます。たとえば、myApp2.war deploy/ ディレクトリーにデプロイ myApp1.war およびデプロイするには、同じバンドルに WAR ファイルを追加し、deploy/myApp1.war/ deploy/myApp2.war/ 同時にデプロイすることができます。
  • すべての web アプリケーションを同じバンドルにロールできない場合があります。root ディレクトリー deploy/ として使用する代わりに、サブディレクトリーをルートディレクトリーとして使用するバンドルディストリビューションが 2 つあります。たとえば、最初の Web アプリを使用して、最終的 deploy/myApp1/ なデプロイメントができ deploy/myApp1/myApp1.war/、2 つ目のアプリケーションが使用すると deploy/myApp2/、結果になり deploy/myApp2/myApp2.war/ます。
    これにより、2 つの Web アプリケーションをデプロイ、更新、および元に戻すことができます。

27.2.3. 設定ファイルのデプロイ

別の一般的なシナリオでは、バンドルを使用してアプリケーションサーバー(またはプラットフォームなどの別のリソース)に設定ファイルをデプロイすることです。
これは、Web アプリケーションのデプロイと非常に似ています。JBoss ON が指定のディレクトリーにバンドルをデプロイする場合、そのディレクトリーのコンテンツとバンドルに定義されたサブディレクトリー内のすべてのコンテンツを管理することが予想されます。設定ファイルでは、バンドルまたは重要なファイルの すべて の設定ファイルを把握し、含めることが重要です。
たとえば、管理者は以下の 2 つの設定ファイルをデプロイするためのバンドルを作成します。
  • の新しいログイン設定 server/default/conf/login-config/xml
  • 新しい JMX コンソールユーザー server/default/conf/props/jmx-console.properties
root ディレクトリーは、アプリケーションサーバーの conf/ ディレクトリーです。

バンドルの詳細

バンドルには、管理者が使用する 2 つの新規ファイルだけでなく、conf/props/ サブディレクトリー conf/login-config/ とサブディレクトリーにあることが予想される すべて のファイルが含まれている必要があります。さらに、レシピの compliance パラメーターを filesAndDirectories に設定して、ルートディレクトリー内の既存の設定ファイルがすべて保持される よう にする必要が conf/あります。

ファイル処理の詳細

Web アプリケーションをデプロイする場合と同様 に、既存のコンテンツを置き換えるのではなく、新しいコンテンツを追加することが意図されています。設定すると、バンドルデプロイメント以外のファイル compliance=filesAndDirectories のみが保存されます。ただし、バンドルには 2 つのサブディレクトリーが定義されているため、JBoss ON はこれらのサブディレクトリーのコンテンツをすべて管理します。これは、以下のようになります。

  • レシピは、conf/ ルートディレクトリー内の他のファイルを保持するためにバンドルを compliance=filesAndDirectories 設定する必要があります。
  • バンドルのサブディレクトリー内のファイルは conf/log-config/、バンドルのデプロイ時 conf/props/ に上書きされます。プロビジョニングプロセスは root ディレクトリー内のファイルを無視しますが、バンドルで特定されたサブディレクトリーのファイル(例: 更新、追加、または削除)ファイルを常に管理し、バンドルの内容に一致させます。
  • conf/log-config/ および conf/props/ サブディレクトリーの既存のファイルはバンドルディストリビューションに含める必要があります。
注記
バンドルディストリビューションにすべての設定ファイルを追加することもできます。
新しいファイルのみを含むバンドルは、のように別のディレクトリーにデプロイでき /opt/bundle/ます。次に、Ant インストール後のタスクは、root ディレクトリーからアプリケーションサーバーのディレクトリーに設定ファイルをコピーするレシピで定義でき conf/ ます。