第7章 アプリケーションのデプロイ
JBoss EAP には、管理者向けと開発者向けのアプリケーションデプロイメントおよび設定オプションが多くあります。管理者は、管理コンソール のグラフィカルインターフェイスや 管理 CLI のコマンドラインインターフェイスを使用して本番環境のアプリケーションデプロイメントを管理できます。開発者は、設定可能なファイルシステムのデプロイメントスキャナー、HTTP API、Red Hat Developer 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
7.1. 管理 CLI を使用したアプリケーションのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
管理 CLI を使用してアプリケーションをデプロイすると、単一のコマンドラインインターフェイスでデプロイメントスクリプトを作成および実行できます。このスクリプト機能を使用して、特定のアプリケーションデプロイメントおよび管理シナリオを設定できます。スタンドアロンサーバーとして稼働している場合は単一サーバーのデプロイメント状態を管理でき、マネージドドメインで稼働している場合はサーバーのネットワーク全体のデプロイメントを管理できます。
7.1.1. 管理 CLI を使用したアプリケーションのスタンドアロンサーバーへのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションのデプロイ
管理 CLI から、デプロイ コマンドを使用して、アプリケーションのデプロイメントへのパスを指定します。
deploy /path/to/test-application.war
deploy /path/to/test-application.war
正常にデプロイされると、管理 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")
アプリケーションは正常にデプロイされました。
アプリケーションのアンデプロイ
管理 CLI から、undeploy コマンドを使用して、デプロイメント名を指定します。
アプリケーションをアンデプロイし、デプロイメントコンテンツを削除します。
undeploy test-application.war
undeploy test-application.warCopy to Clipboard Copied! Toggle word wrap Toggle overflow リポジトリーからデプロイメントコンテンツを削除せずにアプリケーションをアンデプロイします。
undeploy test-application.war --keep-content
undeploy test-application.war --keep-contentCopy 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")
アプリケーションは正常にアンデプロイされました。
デプロイメントのリスト表示
管理 CLI で deployment info コマンドを使用して、デプロイメントの情報を表示します。
deployment-info
deployment-info
出力には、ランタイム名、状態、有効であるかどうかなど、各デプロイメントの詳細が表示されます。
NAME RUNTIME-NAME PERSISTENT ENABLED STATUS jboss-helloworld.war jboss-helloworld.war true true OK test-application.war test-application.war true true OK
NAME RUNTIME-NAME PERSISTENT ENABLED STATUS
jboss-helloworld.war jboss-helloworld.war true true OK
test-application.war test-application.war true true OK
--name 引数を使用して、デプロイメントを名前でフィルタリングして表示することもできます。
7.1.2. 管理 CLI を使用したマネージドドメインでのアプリケーションのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションのデプロイ
管理 CLI から、デプロイ コマンドを使用して、アプリケーションのデプロイメントへのパスを指定します。また、アプリケーションをデプロイするサーバーグループを指定する必要もあります。
すべてのサーバーグループにアプリケーションをデプロイする場合
deploy /path/to/test-application.war --all-server-groups
deploy /path/to/test-application.war --all-server-groupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のサーバーグループにアプリケーションをデプロイする場合
deploy /path/to/test-application.war --server-groups=main-server-group,other-server-group
deploy /path/to/test-application.war --server-groups=main-server-group,other-server-groupCopy 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")
アプリケーションは、管理対象ドメイン内の適切なサーバーグループに正常にデプロイされました。
アプリケーションのアンデプロイ
管理 CLI から、undeploy コマンドを使用して、デプロイメント名を指定します。また、アプリケーションをアンデプロイするサーバーグループを指定する必要もあります。
すべてのサーバーグループからアプリケーションをアンデプロイします。
undeploy test-application.war --all-relevant-server-groups
undeploy test-application.war --all-relevant-server-groupsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のサーバーグループからアプリケーションをアンデプロイします。コンテンツはそのデプロイメントを持つ他のサーバーグループのリポジトリーに残しておく必要があるため、
--keep-contentパラメーターが必要であることに注意してください。undeploy test-application.war --server-groups=other-server-group --keep-content
undeploy test-application.war --server-groups=other-server-group --keep-contentCopy 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")
アプリケーションは正常にアンデプロイされました。
デプロイメントのリスト表示
管理 CLI で deployment info コマンドを使用して、デプロイメントの情報を表示します。デプロイメント名またはサーバーグループでデプロイメント情報を絞り込むことができます。
以下のコマンドは、名前を指定してデプロイメント情報を表示します。
deployment-info --name=jboss-helloworld.war
deployment-info --name=jboss-helloworld.war
出力には、デプロイメントと各サーバーグループでの状態が表示されます。
以下のコマンドは、サーバーグループを指定してデプロイメント情報を表示します。
deployment-info --server-group=other-server-group
deployment-info --server-group=other-server-group
出力には、デプロイメントと、指定のサーバーグループに対する状態が表示されます。
NAME RUNTIME-NAME STATE jboss-helloworld.war jboss-helloworld.war added test-application.war test-application.war enabled
NAME RUNTIME-NAME STATE
jboss-helloworld.war jboss-helloworld.war added
test-application.war test-application.war enabled
また、deploy -l コマンドを使用して、ドメイン内のすべてのデプロイメントをリスト表示することもできます。