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.

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.

JBoss EAP Simple Domain JBoss EAP Simple Domain

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