第 6 章 管理应用部署


JBoss EAP 具有一系列应用程序部署和配置选项,可满足管理员和开发人员的需求。对于管理员而言,管理控制台和管理 CLI 提供了理想的图形和命令行界面来管理生产环境中的应用部署。???对于开发人员,应用程序部署测试选项的范围包括可配置的文件系统 部署扫描程序HTTP API、红帽 CodeReady Studio 和 Maven 等 IDE。

在部署应用程序时,您可能希望通过将 org.jboss.metadata.parser.validate 系统属性设置为 true 来为部署描述符启用验证。这可以通过以下方法之一完成:

  • 启动服务器时。

    $ EAP_HOME/bin/standalone.sh -Dorg.jboss.metadata.parser.validate=true
    Copy to Clipboard Toggle word wrap
  • 使用以下管理 CLI 命令将它添加到服务器配置中:

    /system-property=org.jboss.metadata.parser.validate:add(value=true)
    Copy to Clipboard Toggle word wrap

6.1. 使用管理 CLI 管理应用部署

使用管理 CLI 部署应用程序为您提供了单个命令行界面的好处,能够创建和运行部署脚本。您可以使用此脚本功能来配置特定的应用程序部署和管理场景。在作为单机服务器运行时,您可以管理单个服务器的部署,或者在受管域中运行时管理整个服务器网络。

6.1.1. 在独立服务器中管理应用程序部署

6.1.1.1. 使用管理 CLI 将应用部署到独立服务器

您可以使用 部署 deploy-file 命令,使用管理 CLI 部署应用程序。

先决条件

  • JBoss EAP 正在运行。

流程

  • 从管理 CLI 部署打包为 Web 归档(war)的应用。

    语法

    deployment deploy-file <path_to_the_application>/<application_name>.war
    Copy to Clipboard Toggle word wrap

    Example

    deployment deploy-file /my-applications/test-application.war
    Copy to Clipboard Toggle word wrap

    成功部署不会向管理 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")
    Copy to Clipboard Toggle word wrap

同样,您可以使用以下 部署命令

  • 使用 deployment deploy-cli-archive.cli 归档文件中部署内容。CLI 部署存档是采用 .cli 扩展名的 JAR 文件。它包含应当要部署的应用程序存档,以及 CLI 脚本文件 deploy.scrundeploy.scr,其中包含命令和操作。一个脚本文件 deploy.scr 包含部署应用程序存档和设置环境的命令和操作;另一个脚本文件 undeploy.scr,包含用于取消部署应用程序存档和清理环境的命令。
  • 使用 deployment deploy-url 部署 URL 引用的内容。
注意

当使用-- runtime-name 选项指定 runtime-name 属性时,您必须将 .war 扩展包含在名称中,否则 Web 上下文不会由 JBoss EAP 注册。

您可以使用 部署 undeploy 命令,从单机服务器取消部署应用。取消部署应用会从存储库中删除部署内容。如果要在应用程序不可用时保留部署内容,您可以禁用部署。如需更多信息,请参阅使用 管理 CLI 在单机服务器中禁用应用程序

先决条件

  • JBoss EAP 正在运行。

流程

  • 使用管理 CLI 取消部署应用。

    语法

    deployment undeploy <deployment>
    Copy to Clipboard Toggle word wrap

    Example

    deployment undeploy test-application.war
    Copy to Clipboard Toggle word wrap

    成功取消部署不会向管理 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")
    Copy to Clipboard Toggle word wrap

类似地,您可以使用 deployment undeploy-cli-archive.cli 归档文件中取消部署内容。您还可以使用通配符()取消部署所有部署

deployment undeploy *
Copy to Clipboard Toggle word wrap

您可以在不从存储库中删除部署内容的情况下禁用部署的应用程序。

先决条件

  • JBoss EAP 正在运行。

流程

  • 您可以使用管理 CLI 中的 部署 disable 命令,禁用单个应用程序或部署到 JBoss EAP 的所有应用。

    • 禁用单个部署:

      语法

      deployment disable <deployment>
      Copy to Clipboard Toggle word wrap

      Example

      deployment disable test-application.war
      Copy to Clipboard Toggle word wrap

    • 禁用所有部署:

      deployment disable-all
      Copy to Clipboard Toggle word wrap

您可以启用禁用的应用程序。

先决条件

  • JBoss EAP 正在运行。

流程

  • 您可以使用管理 CLI 中的 部署 enable 命令启用单个应用程序或部署到 JBoss EAP 的所有应用。

    • 启用单个部署:

      语法

      deployment enable <deployment>
      Copy to Clipboard Toggle word wrap

      Example

      deployment enable test-application.war
      Copy to Clipboard Toggle word wrap

    • 启用所有部署:

      deployment enable-all
      Copy to Clipboard Toggle word wrap

6.1.1.5. 使用管理 CLI 列出单机服务器中的部署

您可以列出单机服务器中的部署,并查看运行时名称、状态等部署信息。

先决条件

  • JBoss EAP 正在运行。

流程

  • 使用 部署 info 命令列出部署信息。

    deployment info
    Copy to Clipboard Toggle word wrap

    输出中将显示每个部署的详细信息,如运行时名称、状态以及是否启用它。

    NAME                 RUNTIME-NAME         PERSISTENT ENABLED STATUS
    helloworld.war       helloworld.war       true       true    OK
    test-application.war test-application.war true       true    OK
    Copy to Clipboard Toggle word wrap

    按名称显示部署信息:

    deployment info helloworld.war
    Copy to Clipboard Toggle word wrap

您还可以使用部署 list 命令列出所有 部署

6.1.2. 在受管域中管理应用程序部署

6.1.2.1. 使用管理 CLI 将应用部署到受管域

您可以使用 部署 deploy-file 命令并使用管理 CLI 部署应用程序,并指定应该部署到哪个服务器组。

先决条件

  • JBoss EAP 作为受管域运行。

流程

  • 您可以将打包为 Web 归档(war)的应用程序从管理 CLI 部署到特定的服务器组或所有服务器组。

    • 将应用程序部署到特定的服务器组:

      语法

      deployment deploy-file <path_to_the_application>/<application_name>.war --server-groups=<server-group_1>,..., <server-group_1>
      Copy to Clipboard Toggle word wrap

      Example

      deployment deploy-file /my-applications/test-application.war --server-groups=main-server-group,other-server-group
      Copy to Clipboard Toggle word wrap

    • 将应用程序部署到所有服务器组:

      语法

      deployment deploy-file <path_to_the_application>/<application_name>.war --all-server-groups
      Copy to Clipboard Toggle word wrap

      Example

      deployment deploy-file /my-applications/test-application.war --all-server-groups
      Copy to Clipboard Toggle word wrap

      成功部署不会向管理 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")
    Copy to Clipboard Toggle word wrap

同样,您可以使用以下 部署命令

  • 使用 deployment deploy-cli-archive 命令从 .cli 归档文件中部署内容。CLI 部署存档是采用 .cli 扩展名的 JAR 文件。它包含应当要部署的应用程序存档,以及 CLI 脚本文件 deploy.scrundeploy.scr,其中包含命令和操作。一个脚本文件 deploy.scr 包含部署应用程序存档和设置环境的命令和操作;另一个脚本文件 undeploy.scr,包含用于取消部署应用程序存档和清理环境的命令。
  • 使用 deployment deploy-url 命令部署 URL 引用的内容。
注意

当使用-- runtime-name 选项指定 runtime-name 属性时,您必须将 .war 扩展包含在名称中,否则 Web 上下文不会由 JBoss EAP 注册。

6.1.2.2. 使用管理 CLI 从受管域中取消部署应用

您可以使用 部署 undeploy 命令,从作为受管域运行的 JBoss EAP 取消部署应用。取消部署应用会从存储库中删除部署内容。如果要在应用程序不可用时保留部署内容,您可以禁用部署。如需更多信息,请参阅使用 管理 CLI 在受管域中禁用应用程序

先决条件

  • JBoss EAP 作为受管域运行。

流程

  • 从管理 CLI 使用该部署,从所有服务器组取消部署应用。

    语法

    deployment undeploy <application_name>.war --all-relevant-server-groups
    Copy to Clipboard Toggle word wrap

    Example

    deployment undeploy test-application.war --all-relevant-server-groups
    Copy to Clipboard Toggle word wrap

    成功取消部署不会向管理 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")
Copy to Clipboard Toggle word wrap

类似地,您可以使用 deployment undeploy-cli-archive 命令从 .cli 归档文件中取消部署内容。您还可以使用通配符()取消部署所有部署

deployment undeploy * --all-relevant-server-groups
Copy to Clipboard Toggle word wrap

6.1.2.3. 使用管理 CLI 禁用受管域中的应用程序

您可以从特定的服务器组禁用部署的应用程序,并使用该部署的其他服务器组在存储库中保留其内容。

先决条件

  • JBoss EAP 作为受管域运行。

流程

  • 您可以使用管理 CLI 中的 部署 disable 命令,禁用单个应用程序或部署到 JBoss EAP 的所有应用。

    • 分离单个应用程序:

      语法

      deployment disable <application_name>.war --server-groups=<server-group_1>,..., <server-group_1>
      Copy to Clipboard Toggle word wrap

      Example

      deployment disable test-application.war --server-groups=other-server-group
      Copy to Clipboard Toggle word wrap

    • 禁用所有部署:

      语法

      deployment disable-all --server-groups=<server-group_1>,..., <server-group_1>
      Copy to Clipboard Toggle word wrap

      Example

      deployment disable-all --server-groups=other-server-group
      Copy to Clipboard Toggle word wrap

6.1.2.4. 使用管理 CLI 在受管域中启用应用程序

启用禁用部署的应用程序。

先决条件

  • JBoss EAP 作为受管域运行。

流程

  • 您可以使用管理 CLI 中的 部署 enable 命令启用单个应用程序或部署到 JBoss EAP 的所有应用。

    • 启用单个部署:

      语法

      deployment enable <deployment> --server-groups=<server-group_1>,..., <server-group_1>
      Copy to Clipboard Toggle word wrap

      Example

      deployment enable test-application.war --server-groups=other-server-group
      Copy to Clipboard Toggle word wrap

    • 启用所有部署:

      deployment enable-all --server-groups=<server-group_1>,..., <server-group_1>
      Copy to Clipboard Toggle word wrap

      Example

      deployment enable-all --server-groups=other-server-group
      Copy to Clipboard Toggle word wrap

6.1.2.5. 使用管理 CLI 列出受管域中的部署

您可以列出部署并查看运行时名称、状态等部署信息。

先决条件

  • JBoss EAP 作为受管域运行。

流程

  • 使用 部署 info 命令列出部署信息。

    deployment info helloworld.war
    Copy to Clipboard Toggle word wrap

    输出将列出每个服务器组中的部署及其状态。

    NAME               RUNTIME-NAME
    helloworld.war     helloworld.war
    
    SERVER-GROUP       STATE
    main-server-group  enabled
    other-server-group added
    Copy to Clipboard Toggle word wrap

    按服务器组显示部署信息:

    deployment info --server-group=other-server-group
    Copy to Clipboard Toggle word wrap

    输出将列出指定服务器组的部署及其状态。

    NAME                 RUNTIME-NAME         STATE
    helloworld.war       helloworld.war       added
    test-application.war test-application.war enabled
    Copy to Clipboard Toggle word wrap

您还可以使用部署 list 命令列出域中的所有 部署

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat