-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat JBoss Operations Network
4.2. Deploying A Web Application
Instead of deploying a full application server, it is possible to deploy a web application to the application server. However, this takes an understanding of the directory layout of both the application server and the web application.
For example, this is the deployment directory path for the application server:
/opt/my-application/deploy
The goal is to deploy a new web app,
myApp1.war
to the deploy/
directory.
/opt/my-application/deploy/myapp1.war/
Bundle Details
In this case, the bundle file contains only the WAR file itself and the deploy.xml
recipe.
File Handling Details
Unlike the application server, when deploying the web app, there are or could be other web apps also in the deploy/
directory. The bundle system, then, should not manage the root directory, meaning existing or new files should be allowed within the root directory even if they are not included in the bundle.
The intent here is not to manage all of the content in the directory but to add to that content by deploying the WAR file. So, the recipe should specify
manageRootDir=false
, which tells the provisioning system to leave alone any existing files in the directory that are outside the bundle.
Note
Setting
manageRootDir=false
only preserves files outside the bundle deployment. If the bundle directory is deploy/myApp/
, then any files in deploy/myApp/
or subdirectories like deploy/myApp/WEB-INF/
will be overwritten or removed when the bundle is deployed. The subdirectories defined in the bundle distribution are still entirely managed by the bundle system.
One other consideration is that only one bundle can be deployed to a root directory. If there are multiple web applications to be deployed to the same EAP server and all of them will be managed by the provisioning system, then there are two options:
- Include all of the web applications in the same bundle distribution. For example, to deploy
myApp1.war
andmyApp2.war
to thedeploy/
directory, both WAR files can be included in the same bundle and deployed todeploy/myApp1.war/
anddeploy/myApp2.war/
simultaneously. - It may not be possible to roll all of the web apps into the same bundle. Instead of using
deploy/
as the root directory, there could be two different bundle distributions that use a subdirectory as the root directory. For example, the first web app could usedeploy/myApp1/
so that the final deployment isdeploy/myApp1/myApp1.war/
, while the second app usesdeploy/myApp2/
, resulting indeploy/myApp2/myApp2.war/
.This allows the two web applications to be deployed, updated, and reverted independently of each other.