Liberty リソースのパッケージ化
Liberty リソースは、WebSphere® Application Server Network Deployment バージョン 9.0 のジョブ・マネージャーによるデプロイメント用の 1 つ以上の圧縮 (.zip) ファイルにパッケージ化できます。 この圧縮ファイル内でリソースがどのようにグループ化されているのかは、 リソースの有効範囲および共有に影響します。圧縮ファイル内のリソースを 正しくデプロイするには、そのリソースのパス名がジョブ・マネージャー・ルールを満たしている必要があります。
始める前に
『コマンド・プロンプトからの Liberty サーバーのパッケージ化 (Packaging a Liberty server from the command prompt)』に、package コマンドを実行して、Liberty ランタイム、共有リソース・ディレクトリー内のファイル、1 つの組み込みサーバー、およびサーバーに組み込まれるすべてのアプリケーションを含む圧縮ファイルを作成する方法が説明されています。 このタイプの Liberty・インストールをデプロイする場合、およびこのインストールをプロジェクト・ディレクトリーに配置する必要がない場合は、package コマンドを使用して圧縮ファイルを作成することを検討してください。 その他のタイプの Liberty・のインストールでは、1 つ以上の圧縮ファイルを手動で作成する必要があります。
このタスクについて
サポートされる Liberty・リソース・タイプ には、プロジェクト、ランタイム、Liberty サーバー、アプリケーション・バイナリー、 および Software Development Kit (SDK) があります。詳しくは、 『Liberty リソース』を参照してください。
ジョブ・マネージャーは、 以下のルールを使用して、圧縮ファイル内の異なるタイプの Liberty・リソースを 区別します。
手順
必要な Liberty・インストールのタイプを決定してから、Liberty・リソースを含む 1 つ以上の圧縮 (.zip) ファイルを作成します。
例
- この例では、まず、1 つ以上のサーバー・ホストにデプロイするための、内蔵タイプの Liberty・インストールのパッケージ化方法について説明します。
次に、新しいバージョンのサーバーとそのサーバーがサポートするアプリケーションのパッケージ化方法について説明します。
Liberty・リソースの基本構造は以下のとおりです。
- サーバー・ホスト
- 作業リソース
- プロジェクト
- Liberty ランタイム
- Liberty・サーバー
1
- アプリケーション・バイナリー 1
- Liberty・サーバー
2
- アプリケーション・バイナリー 2
- Liberty・サーバー
1
- Liberty ランタイム
- プロジェクト
- 作業リソース
この例のインストールでは、以下が想定されます。- デプロイ時の構造
- この例の Liberty・インストールでは、サーバー・ホスト上に次のディレクトリー構造を持ちます。
[-] liberty [-] working [-] samples [-] wlp-08.05.00.00 [+] bin [ ] clients [+] dev [ ] lafiles [+] lib [+] templates [-] usr [-] servers [-] SecuritySample-01.00-01 o bootstrap.properties o server.env o server.xml [ ] apps o SecuritySample-01.00.war [-] ServletSample-01.00-01 o bootstrap.properties o server.env o server.xml [ ] apps o ServletSample-01.00.war
- 初期デプロイメントのパッケージ構造
- Libertyインストールの初期デプロイメント用の圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれています。プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。
[-] samples [-] wlp-08.05.00.00 [+] bin [ ] clients [+] dev [ ] lafiles [+] lib [+] templates [-] usr [-] servers [-] SecuritySample-01.00-01 o bootstrap.properties o server.env o server.xml [ ] apps o SecuritySample-01.00.war [-] ServletSample-01.00-01 o bootstrap.properties o server.env o server.xml [ ] apps o ServletSample-01.00.war
サーバーが、デフォルトのオペレーティング・システム・レベルの JRE ではない SDK (JRE) を使用する必要がある場合、ランタイム・レベルあるいはサーバー・レベルで server.env ファイル内の該当する JRE のロケーションを指定する必要があります。次に例を示します。JAVA_HOME=/opt/jre-06.00.31
- 新しいバージョンのサーバーとアプリケーションを含むパッケージ構造
- 新しいバージョンのサーバーおよび、そのサーバーがサポートするアプリケーション用の圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが含まれます。
プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。
[-] samples [-] wlp-08.05.00.00 [-] usr [-] servers [-] SecuritySample-01.01-01 o bootstrap.properties o server.env o server.xml [ ] apps o SecuritySample-01.01.war
- サーバー・ホスト
- この例では最初に、各サーバー・ホストに SDK (JRE) の単一共有インスタンス、Liberty・ランタイムの単一共有インスタンス、およびその共有 SDK と共有 Liberty・ランタイムに依存する 2 つの分離作業サーバーが含まれる環境における Liberty・リソースのパッケージ化の方法を説明します。次に、新しいバージョンのサーバーとそのサーバーがサポートするアプリケーションのパッケージ化方法について説明します。
分離 Liberty・サーバーを含む環境では、ジョブ・マネージャーの使用が必須です。つまり、サーバーの管理に Liberty サーバー・スクリプトは使用できません。
ホスト・レベルおよびネットワーク・レベルでのサーバー構成設定の共有については、構成における組み込みの使用に関する Liberty 資料を参照してください。
Liberty・リソースの基本構造は以下のとおりです。 この方法を使用すると、以降の追加サーバーのデプロイ時に保守を簡単に行うことができ、ディスク・スペースを節約できます。- サーバー・ホスト
- 共有リソース
- SDK (JRE)
- Liberty ランタイム
- 作業リソース
- プロジェクト
- Liberty・サーバー
1
- アプリケーション・バイナリー 1
- Liberty・サーバー
2
- アプリケーション・バイナリー 2
- Liberty・サーバー
1
- プロジェクト
- 共有リソース
この例のインストールでは、以下が想定されます。- デプロイ時の構造
- この例の Liberty環境では、各サーバー・ホスト上に次のディレクトリー構造を持ちます。
[-] liberty [-] shared [-] jre-06.00.31 [+] bin [+] lib [-] wlp-08.05.00.00 [+] bin [ ] clients [+] dev [ ] lafiles [+] lib [+] templates [-] working [-] samples [-] servers [-] SecuritySample-01.00-01 o bootstrap.properties o server.env o server.xml [ ] apps o SecuritySample-01.00.war [-] ServletSample-01.00-01 o bootstrap.properties o server.env o server.xml [ ] apps o ServletSample-01.00.war
独立したサーバーはそれぞれ、共有 SDK (JRE) および共有 Liberty・ランタイムを使用するように構成されます。 共有リソースの場所は、各 server.env ファイルに保管されています。以下に例を示します。
これらのパスには、ハードコーディングされたパスではなく、WLP_SHARED_DIR WebSphere 変数が組み込まれます。 独立したサーバーがサーバー・ホストにデプロイされる際に、ジョブ・マネージャーは、${WLP_SHARED_DIR} を実際の共有ディレクトリー・パス (この場合は /liberty/shared) で置き換えます。JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31 WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
- 初期デプロイメントのパッケージ構造
- WLP_SHARED_DIR WebSphere 変数によって定義された共有リソース・ディレクトリーに SDK (JRE) および Liberty・ランタイムを最初にデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。
SDK および Liberty・ランタイムは複数のプロジェクト間で使用される可能性があるため、これらのリソースは 1 つのプロジェクト・ディレクトリーには組み込まれません。
この例では、SDK および Liberty・ランタイムが単一圧縮ファイル内にパッケージ化されます。
ただし、これらを 2 つの別々の圧縮ファイルにパッケージ化し、2 つの別々のインストール・ジョブをサブミットすることもできます。
[-] jre-06.00.31 [+] bin [+] lib [-] wlp-08.05.00.00 [+] bin [ ] clients [+] dev [ ] lafiles [+] lib [+] templates
WLP_WORKING_DIR WebSphere 変数によって定義された作業リソース・ディレクトリーに Liberty・サーバーとそのアプリケーションを最初にデプロイするための圧縮 (.zip)ファイルには、以下のディレクトリーおよびファイルが組み込まれます。 プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。
[-] samples [-] servers [-] SecuritySample-01.00-01 o bootstrap.properties o server.env o server.xml [ ] apps o SecuritySample-01.00.war [-] ServletSample-01.00-01 o bootstrap.properties o server.env o server.xml [ ] apps o ServletSample-01.00.war
- サーバーとアプリケーションを更新するためのパッケージ構造
- WLP_WORKING_DIR WebSphere 変数によって定義された作業リソース・ディレクトリーに新しいバージョンのサーバーとそのアプリケーションを後でデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。
プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。
[-] samples [-] servers [-] SecuritySample-01.01-01 o bootstrap.properties o server.env o server.xml [ ] apps o SecuritySample-01.01.war
- サーバー・ホスト
- 制約事項: 例 3 は、Windows オペレーティング・システムでは機能しません。
この例では、SDK (JRE)、Liberty ランタイム、およびいくつかのアプリケーションが共有ディスクに保管され、2 つの分離 (作業) サーバーが各サーバー・ホストに格納される環境における、Liberty リソースのパッケージ化方法を最初に説明します。 次に、新しいバージョンのサーバーとそのサーバーがサポートするアプリケーションのパッケージ化方法について説明します。 分離 Liberty・サーバーを含む環境では、ジョブ・マネージャーの使用は必須です。 Liberty サーバー・スクリプトを使用してこれらのサーバーを管理することはできません。 ホスト・レベルおよびネットワーク・レベルでのサーバー構成設定の共有については、構成における組み込みの使用に関する Liberty 資料を参照してください。
Liberty・リソースの基本構造は以下のとおりです。 この方法を使用すると、保守を簡単に行うことができ、今後の追加サーバーのデプロイ時にディスク・スペースを節約できます。- 共有ディスク
- 共有リソース
- SDK (JRE)
- Liberty ランタイム
- アプリケーション・バイナリー 1
- アプリケーション・バイナリー 2
- 共有リソース
- サーバー・ホスト
- 作業リソース
- プロジェクト
- Liberty・サーバー 1
- Liberty・サーバー 2
- プロジェクト
- 作業リソース
この例のインストールでは、以下が想定されます。- デプロイ時の構造
- この例の Liberty環境では、共有ディスク上およびサーバー・ホスト上に次のディレクトリー構造を持ちます。
Shared disk [-] liberty [-] shared [-] jre-06.00.31 [+] bin [+] lib [-] wlp-08.05.00.00 [+] bin [ ] clients [+] dev [ ] lafiles [+] lib [+] templates [-] samples [ ] apps o SecuritySample-01.00.war o ServletSample-01.00-01.war
Server hosts [-] liberty [-] working [-] samples [-] servers [-] SecuritySample-01.00-01 o bootstrap.properties o server.env o server.xml [-] ServletSample-01.00-01 o bootstrap.properties o server.env o server.xml
独立したサーバーはそれぞれ、共有 SDK (JRE) および共有 Liberty・ランタイムを使用するように構成されます。 共有リソースの場所は、各 server.env ファイルに保管されています。以下に例を示します。
これらのパスには、ハードコーディングされたパスではなく、WLP_SHARED_DIR WebSphere 変数が組み込まれます。 独立したサーバーがサーバー・ホストにデプロイされる際に、ジョブ・マネージャーは、${WLP_SHARED_DIR} を実際の共有ディレクトリー・パス (この場合は /liberty/shared) で置き換えます。各サーバー・ホストで、リモートの共有リソース・ディレクトリーが /liberty/shared にマウントされます。JAVA_HOME=${WLP_SHARED_DIR}/jre-06.00.31 WLP_RUNTIME_DIR=${WLP_SHARED_DIR}/wlp-08.05.00.00
アプリケーションは、サーバーとは別の共有ストレージにあるため、各 server.xml ファイル内のアプリケーション・エレメントには、対応する WAR ファイルへの絶対パスを含める必要があります。以下に例を示します。<application id="SecuritySample" location="/liberty/shared/apps/SecuritySample-01.00.war" name="SecuritySample" type="war"/>
server.xml ファイルへの変更を最小限にするために、アプリケーション・ディレクトリーおよびバージョン情報は、各サーバーの bootstrap.properties ファイル内の 2 つのプロパティーに保管することができます。例えば、次のようにします。apps.dir=${WLP_SHARED_DIR}/${CURRENT_PROJECT}/apps security.sample.version=1.00
次に、WLP_SHARED_DIR WebSphere 変数と CURRENT_PROJECT 組み込みジョブ・マネージャー変数の両方を、各 server.xml ファイル内のアプリケーション・エレメントに組み込むことができます。<application id="SecuritySample" location="${apps.dir}/SecuritySample-${security.sample.version}.war" name="SecuritySample" type="war"/>
- 初期デプロイメントのパッケージ構造
- WLP_SHARED_DIR WebSphere 変数によって定義された共有ディスク・ロケーションに、SDK (JRE)、Liberty・ランタイム、およびアプリケーションを最初にデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。
SDK および Liberty ランタイムは複数のプロジェクト間で共有される可能性があるため、これらのリソースは 1 つのプロジェクト・ディレクトリーには組み込まれません。
アプリケーションは、プロジェクト・ディレクトリー samples に組み込まれます。この例では、すべての共有リソースを単一圧縮ファイルにパッケージ化します。
ただし、これらを 3 つの個別の圧縮ファイルにパッケージ化し、3 つの個別のインストール・ジョブをサブミットすることもできます。
[-] jre-06.00.31 [+] bin [+] lib [-] wlp-08.05.00.00 [+] bin [ ] clients [+] dev [ ] lafiles [+] lib [+] templates [-] samples [ ] apps o SecuritySample-01.00.war o ServletSample-01.00.war
WLP_WORKING_DIR WebSphere 変数によって定義された作業リソース・ディレクトリーに Liberty・サーバーを最初にデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。
[-] samples [-] servers [-] SecuritySample-01.01-01 o bootstrap.properties o server.env o server.xml [ ] ServletSample-01.00-01 o bootstrap.properties o server.env o server.xml
- アプリケーションとサーバーを更新するためのパッケージ構造
- WLP_SHARED_DIR WebSphere 変数によって定義された共有ディスク・ロケーションに新しいバージョンのアプリケーションを後でデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。
プロジェクト・ディレクトリー samples は、このファイルのルートにあります。
[-] samples [ ] apps o SecuritySample-01.01.war
WLP_WORKING_DIR WebSphere 変数によって定義された作業リソース・ディレクトリーに新しいバージョンのサーバーを後でデプロイするための圧縮 (.zip) ファイルには、以下のディレクトリーおよびファイルが組み込まれます。 プロジェクト・ディレクトリー samples は、この圧縮ファイルのルートにあります。
[-] samples [-] servers [-] SecuritySample-01.01-01 o bootstrap.properties o server.env o server.xml
server.xml ファイル内のアプリケーション・エレメントは、WAR ファイルのバージョン 1.01 を含めるように変更する必要があります。以下に例を示します。
<application id="SecuritySample" location="/liberty/shared/apps/SecuritySample-01.01.war" name="SecuritySample" type="war"/>
あるいは、bootstrap.properties ファイルにアプリケーションのバージョン情報が含まれている場合は、そのファイルを適宜変更する必要があります。以下に例を示します。
security.sample.version=1.01
次に、更新したバージョン情報を server.xml ファイル内のアプリケーション・エレメントに使用します。以下に例を示します。
<application id="SecuritySample" location="${apps.dir}/SecuritySample-${security.sample.version}.war" name="SecuritySample" type="war"/>
- 共有ディスク
次のタスク
ジョブ・マネージャーが Liberty・リソースをインストールおよび検索することを 可能にする変数を設定します。