DevOps Zone is brought to you in partnership with:

Vincent Partington has more than 10 years of enterprise Java experience. He has written and presented on topics as diverse as performance, security, RIA, and persistence technologies. Vincent Partington is the Chief Technical Officer of XebiaLabs where he is responsible for their flagship deployment automation product Deployit. Vincent is a DZone MVB and is not an employee of DZone and has posted 25 posts at DZone. You can read more from them at their website. View Full User Profile

Adding Continuous Deployment to Atlassian Bamboo

  • submit to reddit

If you're using Atlassian's Bamboo CI server, you might want to check out the XebiaLabs Deployit plugin.  It can help you achieve this continuous deployment/delivery that everyone's been talking about.



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 Deployit, 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 Deployit plugin to take care of the integration between the Bamboo and Deployit.

To get a demonstration of the possiblities, have a look at this video that shows Bamboo and Deployit working together to deploy to an Oracle WebLogic Server environment. Of course, the same can be done for any middleware supported by Deployit!

After installing the Bamboo Deployit plugin, you can add the following tasks to any Bamboo job:

  • Import a deployment package in Deployit
  • Deploy an application with Deployit
  • Undeploy an application with Deployit

The most basic task is the import task. Add that to the build job of a project that delivers a DAR file (the Deployit "deployment archive" format that includes all the artifacts and configurations that are part of an application; you can use the Maven Deployit plugin to create DAR files) to automatically import that deployment package into Deployit. 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 Deployit!

Published at DZone with permission of Vincent Partington, author and DZone MVB. (source)



Ed Staub replied on Fri, 2011/10/21 - 3:35pm

Yet another ad thinly disguised as an article. 

Do these people pay DZone?

Comment viewing options
