第 7 章 部署应用程序
JBoss EAP 具有一系列应用部署和配置选项,可同时满足管理员和开发人员的需求。对于管理员而言,管理控制台 和管理 CLI 提供了理想的图形和命令行界面来管理生产环境中的应用部署。对于开发人员,应用部署测试选项的范围包括可配置的文件系统部署扫描程序 、HTTP API、红帽 CodeReady Studio 和 Maven 等 IDE。
在部署应用时,您可能希望通过将 org.jboss.metadata.parser.validate
system 属性设置为 true
来启用对部署描述符的验证。这可以通过以下方法之一完成:
启动服务器时:
$ EAP_HOME/bin/standalone.sh -Dorg.jboss.metadata.parser.validate=true
使用以下管理 CLI 命令将其添加到服务器配置中:
/system-property=org.jboss.metadata.parser.validate:add(value=true)
7.1. 使用管理 CLI 部署应用
使用管理 CLI 部署应用可让您可以利用单一命令行界面来创建和运行部署脚本。您可以使用此脚本编写功能来配置特定的应用部署和管理场景。作为单机服务器运行时,您可以管理单个服务器的部署,或者受管域中运行的整个服务器网络。
7.1.1. 使用管理 CLI 将应用部署到单机服务器
部署应用程序
在管理 CLI 中,使用 部署 deploy-file
命令并指定应用部署的路径。
deployment deploy-file /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")
同样,您可以使用以下 部署
命令:
-
使用
部署 deploy-cli-archive
从 a.cli
存档文件中部署内容。CLI 部署存档是扩展名为.cli
的JAR
文件。它包含应当部署的应用存档,以及包含命令和操作的 CLI 脚本文件deploy
.scr。个脚本文件.scr
和 undeploydeploy.scr
包含部署应用存档和设置环境的命令和操作;另一个脚本文件undeploy.scr
包含用于取消部署应用存档并清理环境的命令。 -
使用
部署 deploy-url
来部署 URL 引用的内容。
您还可以使用 deployment enable 命令启用
禁用 的应用。
取消部署应用
在管理 CLI 中,使用 部署 undeploy
命令并指定部署名称。这将从存储库删除部署内容。如需在取消部署时保留部署内容,请参阅禁用应用程序。
deployment undeploy test-application.war
成功卸载不会向管理 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")
类似地,您可以使用 部署 undeploy-cli-archive
从 a .cli
存档文件中取消部署内容。您还可以使用通配符(*
)取消部署所有部署。
deployment undeploy *
禁用应用程序
禁用部署的应用,但不从存储库中删除部署内容。
deployment disable test-application.war
您可以使用 deployment disable-all
命令禁用所有部署。
deployment disable-all
启用应用程序
启用禁用的部署应用。
deployment enable test-application.war
您可以使用 deployment enable-all
命令启用所有部署。
deployment enable-all
列出部署
在管理 CLI 中,使用 deployment info
命令列出部署信息。
deployment info
输出中将显示每个部署的详细信息,如运行时名称、状态以及是否启用。
NAME RUNTIME-NAME PERSISTENT ENABLED STATUS helloworld.war helloworld.war true true OK test-application.war test-application.war true true OK
按名称显示部署信息:
deployment info helloworld.war
您还可以使用 deployment list 命令列出所有 部署。
7.1.2. 使用管理 CLI 在受管域中部署应用
部署应用程序
在管理 CLI 中,使用 部署 deploy-file
命令并指定应用部署的路径。您还必须指定应用应部署到的服务器组。
将应用部署到所有服务器组:
deployment deploy-file /path/to/test-application.war --all-server-groups
将应用部署到特定的服务器组:
deployment deploy-file /path/to/test-application.war --server-groups=main-server-group,other-server-group
成功部署不会向管理 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")
同样,您可以使用以下 部署
命令:
-
使用
deployment deploy-cli-archive
命令,从 a.cli
存档文件中部署内容。CLI 部署存档是扩展名为.cli
的JAR
文件。它包含应当部署的应用存档,以及包含命令和操作的 CLI 脚本文件deploy
.scr。个脚本文件.scr
和 undeploydeploy.scr
包含部署应用存档和设置环境的命令和操作;另一个脚本文件undeploy.scr
包含用于取消部署应用存档并清理环境的命令。 -
使用
deployment deploy-url
命令来部署 URL 引用的内容。
您还可以使用 deployment enable 命令启用
禁用 的应用。
取消部署应用
在管理 CLI 中,使用 部署 undeploy
命令并指定部署名称。您还必须指定应当从中取消部署应用的服务器组。如需从特定服务器组取消部署,请参阅禁用应用程序。
利用该部署,从所有服务器组取消部署应用。
deployment undeploy test-application.war --all-relevant-server-groups
成功卸载不会向管理 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")
类似地,您可以使用 部署 undeploy-cli-archive
命令从 a .cli
存档文件中取消部署内容。您还可以使用通配符(*
)取消部署所有部署。
deployment undeploy * --all-relevant-server-groups
禁用应用程序
从特定的服务器组禁用部署的应用,并将其内容保留在存储库中,以用于使用该部署的其他服务器组。
deployment disable test-application.war --server-groups=other-server-group
您可以使用 deployment disable-all
命令禁用所有部署。
deployment disable-all --server-groups=other-server-group
启用应用程序
启用禁用的部署应用。
deployment enable test-application.war
您可以使用 deployment enable-all
命令启用所有部署。
deployment enable-all --server-groups=other-server-group
列出部署
在管理 CLI 中,使用 deployment info
命令列出部署信息。您可以按照部署名称或服务器组列出部署信息。
按名称显示部署信息:
deployment info helloworld.war
输出中将列出各个服务器组中的部署及其状态。
NAME RUNTIME-NAME helloworld.war helloworld.war SERVER-GROUP STATE main-server-group enabled other-server-group added
显示服务器组的部署信息:
deployment info --server-group=other-server-group
输出将列出指定服务器组的部署及其状态。
NAME RUNTIME-NAME STATE helloworld.war helloworld.war added test-application.war test-application.war enabled
您还可以使用 deployment list 命令列出域中的所有部署 。