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).
Now, we need to go to the Jenkins server to configure the Elasticbox environment.
This is how it should look like if every step is successfully configured in the Jenkins management section:
Now, we will create a Job called “ApplicationBoxTest” for deployment of an application box using the Jenkins plugin.
Now that we have created the Job, we are going to configure the Deploy Box build step.
We have already chosen the box we want to deploy (JBoss Sample Application), the workspace and the Cloud that we previously set.
After some time, we can visually see that everything is performing as expected: All instances up and running!
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.