Managing a complete multi-tiered application with Jenkins and ElasticBox


You may be familiar with how ElasticBox enables you to deploy components of an application or how Jenkins can be used to automate steps of an application build; but how can you deploy and manage an entire application with multiple components and tiers all at once?  Glad you asked.  

With application box that was recently introduced and our integration with Jenkins, you can now automate this process in a predictable manner without manual steps.  To recap, an application box deploys several instances that executes an application simultaneously. To deploy most applications, you need several instances cooperating together but application boxes are a way to define and reuse how several boxes will work together to run an application. To learn more, check out the Application Boxes documentation here.

Today, we are going to deploy an Application Box using the ElasticBox Jenkins plug-in.  Below is a simple 3-tiered Java application that we will deploy which is comprised of a JBoss server and a mySQL database (If you want to learn how to create one, please check the documentation).

Screen Shot 2016-06-10 at 18.39.58

Now, we need to go to the Jenkins server to configure the Elasticbox environment.

Screen Shot 2016-06-06 at 11.16.26

This is how it should look like if every step is successfully configured in the Jenkins management section:

Screen Shot 2016-06-06 at 11.18.37

Now, we will create a Job called “ApplicationBoxTest” for deployment of an application box using the Jenkins plugin.

Screen Shot 2016-06-06 at 11.18.49

Now that we have created the Job, we are going to configure the Deploy Box build step.

Screen Shot 2016-06-10 at 18.53.37

We have already chosen the box we want to deploy (JBoss Sample Application), the workspace and the Cloud that we previously set.

Screen Shot 2016-06-06 at 11.44.10All we need to do now is run the job and check if it works. We can see how the application box is being deployed in the Jenkins Console.

Diapositiva1Alternatively you also can see how this deployment in the Instances tab of the ElasticBox portal:

Screen Shot 2016-06-06 at 16.38.27

After some time, we can visually see that everything is performing as expected: All instances up and running!

Diapositiva3That easy?? Let’s go check it, anyway!

To access our application all we need to do is to enter the correct endpoint IP address (to get it, you can use the Jenkins Console link or through Elasticbox UI) of one of the load balancers in the portal.

Screen Shot 2016-06-06 at 17.47.25




Categories: Uncategorized