In this series of articles, I will present several ways to deploy an application on an EAP Domain. The series consists of four parts. Each one will be a standalone article, but the series as a whole will present a range of useful topics for working with JBoss EAP.
- Part 1: Set up a simple EAP 7.0 Domain (this article).
- Part 2: Domain deployments through the new EAP 7.0 Management Console
- Part 3: Introduction to DMR (Dynamic Model Representation) and domain deployments from the Common Language Interface CLI
- Part 4: Domain deployment from the REST Management API
In part 1 of this series on JBoss EAP 7 Domain deployments, we set up a simple EAP 7.0 domain with three hosts:
Review the domain Configuration
The domain controller host0, and two slaves hosts running several EAP 7.0 instances.
In the following tutorial we are going to see how to deploy an application on JBoss EAP domain using the new EAP 7.0 Management Console.
Tutorial App Source
For the purpose of this tutorial we are using the JBoss EAP 7.0 Quickstarts, HelloWorld-html5 project. Check out the JBoss EAP Quickstart at this address: https://github.com/jboss-developer/jboss-eap-quickstarts.git
cd $EAP_DOMAIN/labs
git clone https://github.com/jboss-developer/jboss-eap-quickstarts.git
loning into 'jboss-eap-quickstarts'...
remote: Counting objects: 104519, done.
remote: Compressing objects: 100% (72/72), done.
remote: Total 104519 (delta 15), reused 0 (delta 0), pack-reused 104406
Receiving objects: 100% (104519/104519), 48.94 MiB | 484.00 KiB/s, done.
Resolving deltas: 100% (44221/44221), done.
Checking connectivity... done.
From this repository we are going to install the helloworld-html5 on server primary-server-group using the managmeent console.
Be aware on EAP Domain the deployment unit is a server group, you cannot deploy an application on a single server unless this server constitute a group. Deployments are done on either all the server groups or on a specific server group.
Build the application
cd jboss-eap-quickstarts/helloworld-html5/ mvn clean install [INFO] Scanning for projects... Downloading: http://maven.repository.redhat.com/techpreview/all/org/jboss/bom/jboss-eap-javaee7-with-tools/7.0.0-build-12/jboss-eap-javaee7-with-tools-7.0.0-build-12.pom ..........
to /Users/enonowog/.m2/repository/org/jboss/quickstarts/eap/jboss-helloworld-html5/7.0.0-SNAPSHOT/jboss-helloworld-html5-7.0.0-SNAPSHOT.pom [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:31 min [INFO] Finished at: 2016-07-18T21:37:19+02:00 [INFO] Final Memory: 19M/152M
Deploy helloworld-html5 on primary-server-group
Connect to the admin console http://localhost:9990/console/ with management user credentials
On Deployment Category, click on start link.
Upload the .../labs/jboss-eap-quickstarts/helloworld-html5/target/jboss-helloworld-html5.war
in the EAP Content repository by clicking on the add Button.
Browse and select the helloworld-html5.war in the target subfolder.
and click next, keep the default names and continue. A message indicated the war is successfully added and you can see the following view.
The jboss-hello-html5 is now in the EAP content repository but not yet deployed on any instance.
To deploy this war on the primary-server-group, use the assign action button; select the expected server group and check the enable button to enable the deployment on this groups.
if you check the primary-server-group configuration now, you should be able to see the hello war enabled.
Now you can check the HTTP servers on which the application is reponding.
Server11 => OK http://localhost:8180/jboss-helloworld-html5/ (port offset 100) Server12 => KO http://localhost:8280/jboss-helloworld-html5/ (port offset 200) Server21 => OK http://localhost:8380/jboss-helloworld-html5/ (port offset 300) Server22 => KO http://localhost:8480/jboss-helloworld-html5/ (port offset 400) Server23 => KO http://localhost:8580/jboss-helloworld-html5/ (port offset 500)
The application is deployed and responding only on Server11 and Server21 who belongs to primary-server-group
This deployment mechanism is very simple and can help administrator to deploy an application very quickly But what if we want to integrate the deployment in a specific Continuous integration process? In part 3 and part 4, we will explore the EAP domainDeployments on secondary-server-group using the EAP CLI and the associated REST API.
Last updated: November 16, 2018