Skip to main content
DevOps Image

This post is from the XebiaLabs blog and has not been updated since the original publish date.

Last Updated Oct 19, 2011 — DevOps Expert

Continuous deployment with Atlassian Bamboo and XebiaLabs XL Deploy

DevOps

Over the past five to ten years, continuous integration has become a no-brainer for every medium to large scale software development project. It's hard to imagine going back to not having every commit (or push) automatically trigger a build of the code and, most importantly, a test run of of the code. That test run will surely include unit tests, but setting it up to also run integration tests used to be harder. You'll need to automatically deploy the application to the target middleware environment and then run the integration tests against that environment. The XL Deploy plugin for the new 3.3 release of Atlassian Bamboo adds the enterprise-scale deployment capabilities of XebiaLabs XL Deploy to Bamboo. This allows you to speed up your development process by adding automated deployment to your continuous integration setup and make the the first step towards continuous deployment and continuous delivery. Instead of deployment being a bottleneck to your development process, it will be be an integrated part of it. You can test your application on the target platform as soon as possible, find any platform incompatibility and deployment issues early on, and, when it's time to deploy to the production environment, your deployment will be quick and reliable. So how does it work? Bamboo version 3.3 has introduced the possibiliy to define new tasks in a plugin. These tasks can be added to a job to define what happens when a build is triggered. To take care of the deployment automation, we use XL Deploy, an application release automation platform that can deploy to many different middleware systems such as IBM WebSphere, Oracle WebLogic, JBoss and Tomcat, Apache HTTPD, Oracle Database, DB2 and other SQL databases, etc. And finally we use the Bamboo XL Deploy plugin to take care of the integration between the Bamboo and XL Deploy. To get a demonstration of the possiblities, have a look at this video that shows Bamboo and XL Deploy working together to deploy to an Oracle WebLogic Server environment. Of course, the same can be done for any middleware supported by XL Deploy!DevOps, Continuous DeliveryAfter installing the Bamboo XL Deploy plugin, you can add the following tasks to any Bamboo job:

  • Import a deployment package in XL Deploy
  • Deploy an application with XL Deploy
  • Undeploy an application with XL Deploy
The most basic task is the import task. Add that to the build job of a project that delivers a DAR file (the XL Deploy "deployment archive" format that includes all the artifacts and configurations that are part of an application; you can use the Maven XL Deploy plugin to create DAR files) to automatically import that deployment package into XL Deploy. But you can take it one step further: add the deploy task to your job to automatically deploy to a test environment and then add another task to test your application on that environment, e.g. by using JMeter or another functional testing tool. And of course there is nothing stopping you from deploying to the production environment instead of the test environment! Since you might not want every code change to trigger a deployment to the production environment, you can set up a separate Bamboo job that runs daily or according to whatever schedule you want to run your continuous deployment with Bamboo and XL Deploy!

More from the Blog

View more
Aug 02, 2021

Building better processes Part I: Should processes be tools-driven or requirements-driven?

DevOps
This piece will look at why, conceptually, processes should be require ...
Read More
Jul 22, 2021

DevOps as a Service (DaaS): scaling digital transformation the right way

DevOps
When going through digital transformation, many organizations have dis ...
Read More
Jun 28, 2021

Smash through barriers to data availability, make analytics easier

DevOps
In DevOps, "data availability" often refers to a state where the app o ...
Read More
Jun 24, 2021

Strategies for DevOps adoption across teams

DevOps
Implementing DevOps is not merely a change in IT and it’s certainly no ...
Read More
Contact Us