7.3. 使用部署扫描器部署应用程序
部署扫描程序监控要部署的应用程序的部署目录。默认情况下,部署扫描程序每 5 秒扫描 EAP_HOME/standalone/deployments/
目录以进行更改。标记文件用于指示部署的状态,以及针对部署触发操作,如取消部署或重新部署。
虽然建议在生产环境中使用管理控制台或管理 CLI 进行应用部署,但为方便开发人员使用部署扫描程序进行部署。这使得用户可以以适合快速开发周期的方式构建和测试应用程序。此外,部署扫描程序不应与其他部署方法一起使用。
部署扫描程序仅在将 JBoss EAP 作为单机服务器运行时可用。
7.3.1. 使用部署扫描器将应用程序部署到单机服务器
部署扫描程序可以配置为允许或禁止自动部署 XML、ziped 和 exploded 内容。如果禁用了自动部署,您必须手动创建标记文件来触发部署操作。有关可用标记文件类型及其目的的更多信息,请参阅 Deployment Scanner Marker Files 部分。
默认情况下,启用了 XML 和 zipped 内容的自动部署。有关为每个内容类型配置自动部署的详情,请参阅配置 部署扫描器。
为方便开发人员使用部署扫描程序提供部署扫描程序,不建议在生产环境中使用。它还不应与其他部署方法一起使用。
部署应用程序
将内容复制到部署文件夹。
$ cp /path/to/test-application.war EAP_HOME/standalone/deployments/
如果启用了自动部署,则该文件将自动获取、部署和 .deployed
标记文件。如果没有启用自动部署,则需要手动添加 .dodeploy
标记文件来触发部署。
$ touch EAP_HOME/standalone/deployments/test-application.war.dodeploy
取消部署应用
通过删除 .deployed
标记文件来触发未部署。
$ rm EAP_HOME/standalone/deployments/test-application.war.deployed
如果启用了自动部署,您也可以删除 test-application.war
文件,该文件会触发 undeployment。请注意,这不适用于展开的部署。
重新部署应用程序
创建 .dodeploy
标记文件以启动重新部署。
$ touch EAP_HOME/standalone/deployments/test-application.war.dodeploy
7.3.2. 配置部署扫描器
部署扫描程序可以使用管理控制台或管理 CLI 进行配置。您可以配置部署扫描程序的行为,如扫描间隔、部署文件夹位置和自动部署某些应用程序文件类型。您还可以完全禁用部署扫描程序。
有关所有可用部署扫描程序属性的详情,请参阅 Deployment Scanner Attributes 部分。
使用以下管理 CLI 命令配置默认的部署扫描程序。
禁用 Deployment Scanner
/subsystem=deployment-scanner/scanner=default:write-attribute(name=scan-enabled,value=false)
这将 禁用默认的部署
扫描程序。
更改 Scan Interval
/subsystem=deployment-scanner/scanner=default:write-attribute(name=scan-interval,value=10000)
这会将扫描间隔时间从 5000
毫秒(以秒为单位)更新为 10000
毫秒(秒)。
更改部署文件夹
/subsystem=deployment-scanner/scanner=default:write-attribute(name=path,value=/path/to/deployments)
这会将 deployment 文件夹的位置从 EAP_HOME/standalone/deployments
的默认位置更改为 /path/to/deployments
。
path
值将被视为绝对路径,除非指定了 relative-to
属性,在这种情况下,它将相对于该路径。
启用 Exploded 内容的自动部署
/subsystem=deployment-scanner/scanner=default:write-attribute(name=auto-deploy-exploded,value=true)
这可启用自动部署 exploded 内容,这默认是禁用的。
禁用 Zipped 内容自动部署
/subsystem=deployment-scanner/scanner=default:write-attribute(name=auto-deploy-zipped,value=false)
这禁用部署 zipped 内容的自动部署,这默认是启用的。
禁用 XML 内容自动部署
/subsystem=deployment-scanner/scanner=default:write-attribute(name=auto-deploy-xml,value=false)
这禁用自动部署 XML 内容,该内容默认是启用的。
7.3.3. 定义自定义部署扫描器
可以使用管理 CLI 或从管理控制台中的 Configuration 选项卡导航到 Deployment Scanners 子系统来添加新的部署扫描程序。这将定义一个新目录来扫描用于部署。默认部署扫描程序监控 EAP_HOME/standalone/deployments
。有关配置 现有部署扫描程序的详情,请参阅配置 Deployment Scanner。
以下管理 CLI 命令添加了一个新的部署扫描程序,它将每 5 秒检查 EAP_HOME/standalone/new_deployment_dir
。
/subsystem=deployment-scanner/scanner=new-scanner:add(path=new_deployment_dir,relative-to=jboss.server.base.dir,scan-interval=5000)
指定的目录必须已经存在,否则此命令将失败,并显示错误。
定义了新的部署扫描程序,并将监控指定的目录以进行部署。