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