第6章 アプリケーションデプロイメントの管理
JBoss EAP には、管理者向けと開発者向けのアプリケーションデプロイメントおよび設定オプションが多くあります。管理者は、管理コンソール のグラフィカルインターフェイスや 管理 CLI のコマンドラインインターフェイスを使用して本番環境のアプリケーションデプロイメントを管理できます。開発者は、設定可能なファイルシステムの デプロイメントスキャナー、HTTP API、Red Hat CodeReady Studio などの IDE、および Maven などを含む、多くのテストオプションをアプリケーションのデプロイメントで使用できます。
アプリケーションをデプロイするときにデプロイメント記述子の検証を有効にするには、org.jboss.metadata.parser.validate システムプロパティーを true に設定します。これには、以下の方法の 1 つを使用します。
サーバー起動時
EAP_HOME/bin/standalone.sh -Dorg.jboss.metadata.parser.validate=true
$ EAP_HOME/bin/standalone.sh -Dorg.jboss.metadata.parser.validate=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の管理 CLI コマンドでサーバー設定に追加
/system-property=org.jboss.metadata.parser.validate:add(value=true)
/system-property=org.jboss.metadata.parser.validate:add(value=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1. 管理 CLI を使用したアプリケーションデプロイメントの管理 リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI を使用してアプリケーションをデプロイすると、単一のコマンドラインインターフェイスでデプロイメントスクリプトを作成および実行できます。このスクリプト機能を使用して、特定のアプリケーションデプロイメントおよび管理シナリオを設定できます。スタンドアロンサーバーとして稼働している場合は単一サーバーのデプロイメント状態を管理でき、マネージドドメインで稼働している場合はサーバーのネットワーク全体のデプロイメントを管理できます。
6.1.1. スタンドアロンサーバーでのアプリケーションデプロイメントの管理 リンクのコピーリンクがクリップボードにコピーされました!
6.1.1.1. 管理 CLI を使用したスタンドアロンサーバーへのアプリケーションのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI で deployment deploy-file コマンドを使用して、アプリケーションをスタンドアロンサーバーにデプロイできます。
前提条件
- JBoss EAP が実行中である。
手順
管理 CLI から、Web Archive (war) としてパッケージ化されたアプリケーションをデプロイします。
構文
deployment deploy-file <path_to_the_application>/<application_name>.war
deployment deploy-file <path_to_the_application>/<application_name>.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment deploy-file /my-applications/test-application.war
deployment deploy-file /my-applications/test-application.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow 正常にデプロイされると、管理 CLI には何も出力されませんが、サーバーログに次の出力のようなデプロイメントメッセージが記録されます。
WFLYSRV0027: Starting deployment of "test-application.war" (runtime-name: "test-application.war") WFLYUT0021: Registered web context: /test-application WFLYSRV0010: Deployed "test-application.war" (runtime-name : "test-application.war")
WFLYSRV0027: Starting deployment of "test-application.war" (runtime-name: "test-application.war") WFLYUT0021: Registered web context: /test-application WFLYSRV0010: Deployed "test-application.war" (runtime-name : "test-application.war")Copy to Clipboard Copied! Toggle word wrap Toggle overflow
同様に、以下の deployment コマンドを使用できます。
-
deployment deploy-cli-archiveを使用してコンテンツを.cliアーカイブファイルからデプロイします。CLI デプロイメントアーカイブは、.cli拡張子を持つJARファイルです。デプロイする必要があるアプリケーションアーカイブと、コマンドおよび操作が含まれるdeploy.scrおよびundeploy.scrCLI スクリプトファイルが含まれます。deploy.scrスクリプトファイルには、アプリケーションアーカイブをデプロイし、環境を設定するコマンドと操作が含まれます。undeploy.scrスクリプトファイルには、アプリケーションアーカイブをアンデプロイし、環境をクリーンアップするコマンドが含まれます。 -
deployment deploy-urlを使用して、URL によって参照されるコンテンツをデプロイします。
--runtime-name オプションで runtime-name 属性を指定する場合は、名前に .war 拡張子を含める必要があります。そうしないと、Web コンテキストが JBoss EAP によって登録されません。
6.1.1.2. 管理 CLI を使用したスタンドアロンサーバーからのアプリケーションのアンデプロイ リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI で deployment undeploy コマンドを使用して、スタンドアロンサーバーからアプリケーションをアンデプロイできます。アプリケーションをアンデプロイすると、リポジトリーからデプロイメントコンテンツが削除されます。デプロイメントコンテンツを保持しながらアプリケーションを使用不可にする場合は、代わりにデプロイメントを無効にできます。詳細は、管理 CLI を使用したスタンドアロンサーバーでのアプリケーションの無効化 を参照してください。
前提条件
- JBoss EAP が実行中である。
手順
管理 CLI を使用してアプリケーションをアンデプロイします。
構文
deployment undeploy <deployment>
deployment undeploy <deployment>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment undeploy test-application.war
deployment undeploy test-application.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow 正常にアンデプロイされると、管理 CLI には何も出力されませんが、サーバーログに次の出力のようなアンデプロイメントメッセージが記録されます。
WFLYUT0022: Unregistered web context: /test-application WFLYSRV0028: Stopped deployment test-application.war (runtime-name: test-application.war) in 62ms WFLYSRV0009: Undeployed "test-application.war" (runtime-name: "test-application.war")
WFLYUT0022: Unregistered web context: /test-application WFLYSRV0028: Stopped deployment test-application.war (runtime-name: test-application.war) in 62ms WFLYSRV0009: Undeployed "test-application.war" (runtime-name: "test-application.war")Copy to Clipboard Copied! Toggle word wrap Toggle overflow
同様に、deployment undeploy-cli-archive を使用して .cli アーカイブファイルからコンテンツをアンデプロイできます。ワイルドカード (*) を使用してすべてのデプロイメントをアンデプロイすることも可能です。
deployment undeploy *
deployment undeploy *
6.1.1.3. 管理 CLI を使用したスタンドアロンサーバーでのアプリケーションの無効化 リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーからデプロイメントコンテンツを削除せずに、デプロイされたアプリケーションを無効にできます。
前提条件
- JBoss EAP が実行中である。
手順
管理 CLI から
deployment disableコマンドを使用して、JBoss EAP にデプロイされた 1 つまたはすべてのアプリケーションを無効にできます。1 つのデプロイメントを無効にする場合:
構文
deployment disable <deployment>
deployment disable <deployment>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment disable test-application.war
deployment disable test-application.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのデプロイメントを無効にする場合:
deployment disable-all
deployment disable-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1.1.4. 管理 CLI を使用したスタンドアロンサーバーでのアプリケーションの有効化 リンクのコピーリンクがクリップボードにコピーされました!
無効になっているアプリケーションを有効にできます。
前提条件
- JBoss EAP が実行中である。
手順
管理 CLI から
deployment enableコマンドを使用して、JBoss EAP にデプロイされた 1 つまたはすべてのアプリケーションを有効にできます。1 つのデプロイメントを有効化する場合:
構文
deployment enable <deployment>
deployment enable <deployment>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment enable test-application.war
deployment enable test-application.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのデプロイメントを有効化する場合:
deployment enable-all
deployment enable-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1.1.5. 管理 CLI を使用したスタンドアロンサーバーでのデプロイメントのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
スタンドアロンサーバー内のデプロイメントをリスト表示し、ランタイム名、ステータスなどのデプロイメント情報を表示できます。
前提条件
- JBoss EAP が実行中である。
手順
deployment infoコマンドを使用して、デプロイメント情報をリスト表示します。deployment info
deployment infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、ランタイム名、状態、有効であるかどうかなど、各デプロイメントの詳細が表示されます。
NAME RUNTIME-NAME PERSISTENT ENABLED STATUS helloworld.war helloworld.war true true OK test-application.war test-application.war true true OK
NAME RUNTIME-NAME PERSISTENT ENABLED STATUS helloworld.war helloworld.war true true OK test-application.war test-application.war true true OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドは、名前を指定してデプロイメント情報を表示します。
deployment info helloworld.war
deployment info helloworld.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow
deployment list コマンドを使用して、デプロイメントをすべて表示することもできます。
6.1.2. マネージドドメインでのアプリケーションデプロイメントの管理 リンクのコピーリンクがクリップボードにコピーされました!
6.1.2.1. 管理 CLI を使用したマネージドドメインへのアプリケーションのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI で deployment deploy-file コマンドを使用し、アプリケーションをデプロイするサーバーグループを指定して、アプリケーションをスタンドアロンサーバーにデプロイできます。
前提条件
- JBoss EAP がマネージドドメインとして実行されている。
手順
管理 CLI から、Web Archive (war) としてパッケージ化されたアプリケーションを特定のサーバーグループまたはすべてのサーバーグループにデプロイできます。
特定のサーバーグループにアプリケーションをデプロイする場合:
構文
deployment deploy-file <path_to_the_application>/<application_name>.war --server-groups=<server-group_1>,..., <server-group_1>
deployment deploy-file <path_to_the_application>/<application_name>.war --server-groups=<server-group_1>,..., <server-group_1>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment deploy-file /my-applications/test-application.war --server-groups=main-server-group,other-server-group
deployment deploy-file /my-applications/test-application.war --server-groups=main-server-group,other-server-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのサーバーグループにアプリケーションをデプロイする場合:
構文
deployment deploy-file <path_to_the_application>/<application_name>.war --all-server-groups
deployment deploy-file <path_to_the_application>/<application_name>.war --all-server-groupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment deploy-file /my-applications/test-application.war --all-server-groups
deployment deploy-file /my-applications/test-application.war --all-server-groupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 正常にデプロイされると、管理 CLI には何も出力されませんが、サーバーログに各サーバーのデプロイメントメッセージが記録されます。
[Server:server-one] WFLYSRV0027: Starting deployment of "test-application.war" (runtime-name: "test-application.war") [Server:server-one] WFLYUT0021: Registered web context: /test-application [Server:server-one] WFLYSRV0010: Deployed "test-application.war" (runtime-name : "test-application.war")
[Server:server-one] WFLYSRV0027: Starting deployment of "test-application.war" (runtime-name: "test-application.war") [Server:server-one] WFLYUT0021: Registered web context: /test-application [Server:server-one] WFLYSRV0010: Deployed "test-application.war" (runtime-name : "test-application.war")Copy to Clipboard Copied! Toggle word wrap Toggle overflow
同様に、以下の deployment コマンドを使用できます。
-
deployment deploy-cli-archiveコマンドを使用してコンテンツを.cliアーカイブファイルからデプロイします。CLI デプロイメントアーカイブは、.cli拡張子を持つJARファイルです。デプロイする必要があるアプリケーションアーカイブと、コマンドおよび操作が含まれるdeploy.scrおよびundeploy.scrCLI スクリプトファイルが含まれます。deploy.scrスクリプトファイルには、アプリケーションアーカイブをデプロイし、環境を設定するコマンドと操作が含まれます。undeploy.scrスクリプトファイルには、アプリケーションアーカイブをアンデプロイし、環境をクリーンアップするコマンドが含まれます。 -
deployment deploy-urlコマンドを使用して、URL によって参照されるコンテンツをデプロイします。
--runtime-name オプションで runtime-name 属性を指定する場合は、名前に .war 拡張子を含める必要があります。そうしないと、Web コンテキストが JBoss EAP によって登録されません。
6.1.2.2. 管理 CLI を使用したマネージドドメインからのアプリケーションのアンデプロイ リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI の deployment undeploy コマンドを使用して、マネージドドメインとして実行されている JBoss EAP からアプリケーションをアンデプロイできます。アプリケーションをアンデプロイすると、リポジトリーからデプロイメントコンテンツが削除されます。デプロイメントコンテンツを保持しながらアプリケーションを使用不可にする場合は、代わりにデプロイメントを無効にできます。詳細は、管理 CLI を使用したマネージドドメイン内のアプリケーションの無効化 を参照してください。
前提条件
- JBoss EAP がマネージドドメインとして実行されている。
手順
管理 CLI から、アプリケーションデプロイメントを持つすべてのサーバーグループからアプリケーションをアンデプロイします。
構文
deployment undeploy <application_name>.war --all-relevant-server-groups
deployment undeploy <application_name>.war --all-relevant-server-groupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment undeploy test-application.war --all-relevant-server-groups
deployment undeploy test-application.war --all-relevant-server-groupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 正常にアンデプロイされると、管理 CLI には何も出力されませんが、サーバーログに次の出力のような各サーバーのアンデプロイメントメッセージが記録されます。
[Server:server-one] WFLYUT0022: Unregistered web context: /test-application [Server:server-one] WFLYSRV0028: Stopped deployment test-application.war (runtime-name: test-application.war) in 74ms [Server:server-one] WFLYSRV0009: Undeployed "test-application.war" (runtime-name: "test-application.war")
[Server:server-one] WFLYUT0022: Unregistered web context: /test-application
[Server:server-one] WFLYSRV0028: Stopped deployment test-application.war (runtime-name: test-application.war) in 74ms
[Server:server-one] WFLYSRV0009: Undeployed "test-application.war" (runtime-name: "test-application.war")
同様に、deployment undeploy-cli-archive コマンドを使用して .cli アーカイブファイルからコンテンツをアンデプロイできます。ワイルドカード (*) を使用してすべてのデプロイメントをアンデプロイすることも可能です。
deployment undeploy * --all-relevant-server-groups
deployment undeploy * --all-relevant-server-groups
6.1.2.3. 管理 CLI を使用したマネージドドメイン内のアプリケーションの無効化 リンクのコピーリンクがクリップボードにコピーされました!
デプロイされたアプリケーションを特定のサーバーグループから無効にし、そのデプロイメントを持つ他のサーバーグループのリポジトリーにそのコンテンツを保持できます。
前提条件
- JBoss EAP がマネージドドメインとして実行されている。
手順
管理 CLI から
deployment disableコマンドを使用して、JBoss EAP にデプロイされた 1 つまたはすべてのアプリケーションを無効にできます。1 つのアプリケーションを無効にする場合:
構文
deployment disable <application_name>.war --server-groups=<server-group_1>,..., <server-group_1>
deployment disable <application_name>.war --server-groups=<server-group_1>,..., <server-group_1>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment disable test-application.war --server-groups=other-server-group
deployment disable test-application.war --server-groups=other-server-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのデプロイメントを無効にする場合:
構文
deployment disable-all --server-groups=<server-group_1>,..., <server-group_1>
deployment disable-all --server-groups=<server-group_1>,..., <server-group_1>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment disable-all --server-groups=other-server-group
deployment disable-all --server-groups=other-server-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1.2.4. 管理 CLI を使用したマネージドドメイン内のアプリケーションの有効化 リンクのコピーリンクがクリップボードにコピーされました!
無効になっているデプロイされたアプリケーションを有効にします。
前提条件
- JBoss EAP がマネージドドメインとして実行されている。
手順
管理 CLI から
deployment enableコマンドを使用して、JBoss EAP にデプロイされた 1 つまたはすべてのアプリケーションを有効にできます。1 つのデプロイメントを有効化する場合:
構文
deployment enable <deployment> --server-groups=<server-group_1>,..., <server-group_1>
deployment enable <deployment> --server-groups=<server-group_1>,..., <server-group_1>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment enable test-application.war --server-groups=other-server-group
deployment enable test-application.war --server-groups=other-server-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのデプロイメントを有効化する場合:
deployment enable-all --server-groups=<server-group_1>,..., <server-group_1>
deployment enable-all --server-groups=<server-group_1>,..., <server-group_1>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
deployment enable-all --server-groups=other-server-group
deployment enable-all --server-groups=other-server-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.1.2.5. 管理 CLI を使用したマネージドドメイン内のデプロイメントのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
デプロイメントをリスト表示し、ランタイム名、ステータスなどのデプロイメント情報を表示できます。
前提条件
- JBoss EAP がマネージドドメインとして実行されている。
手順
deployment infoコマンドを使用して、デプロイメント情報をリスト表示します。deployment info helloworld.war
deployment info helloworld.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、デプロイメントと各サーバーグループでの状態が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドは、サーバーグループを指定してデプロイメント情報を表示します。
deployment info --server-group=other-server-group
deployment info --server-group=other-server-groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力には、デプロイメントと、指定のサーバーグループに対する状態が表示されます。
NAME RUNTIME-NAME STATE helloworld.war helloworld.war added test-application.war test-application.war enabled
NAME RUNTIME-NAME STATE helloworld.war helloworld.war added test-application.war test-application.war enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow
deployment list コマンドを使用して、ドメインのデプロイメントをすべて表示することもできます。