John is an experienced consultant specialising in Enterprise Java, Web Development, and Open Source technologies, currently based in Sydney, Australia. Well known in the Java community for his many published articles, and as author of Java Power Tools and Jenkins: The Definitive Guide, and founder of the open source Thucydides Automated Acceptance Test Library project, John helps organisations to optimize their Java development processes and infrastructures and provides training and mentoring in agile development, automated testing practices, continuous integration and delivery, and open source technologies in general. John is the CEO of Wakaleo Consulting, and runs several Training Courses on open source Java development tools and best practices. John is a DZone MVB and is not an employee of DZone and has posted 125 posts at DZone. You can read more from them at their website. View Full User Profile

Automated Deployment with Maven - Going the Whole Nine Yards

  • submit to reddit

Last week I gave a talk at the Agile 2009 conference about automating the deployment process with tools such as Maven, Nexus Cargo, Liquibase and Hudson. Here is a brief description of the talk:

Automating your build process with Continuous Integration is certainly a great idea, but why stop there? Why not go the whole nine yards and automate the deployment process as well? Staging and production deployments are typically more complicated and more involved than a simple development deployment, but doing them by hand can be time-consuming, tricky and error-prone. Indeed, turning your staging and production deployments into a one-click affair has a lot going for it.

This talk discusses a number of strategies for automating your deployment process, and shows how you can integrate CI tools like Hudson and Bamboo with other tools such as the popular JIRA issue tracking software for an (almost) seamless deployment experience. In particular, it will show in practical terms how to automate the deployment using Bamboo, JIRA and Nexus in a real-world multi-module Maven web application. The talk includes topics such as:

  • How to integrate your build and deployment strategy with JIRA’s release management feature
  • Subversion tagging strategies, and automatic Subversion tagging
  • How to use a Maven repository manager to deploy and archive artifacts,
  • How to use to automate the release process, and integrating Maven with JIRA and Bamboo
  • How to automate deployment to different platforms (integration, staging, production, and so on)
  • Handling automated redeployments and roll-backs
  • How to set up automatic smoke tests
  • How to handle security and traceability issues

You can view (and download) the slides here.


Published at DZone with permission of John Ferguson Smart, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Steven Baker replied on Fri, 2009/09/04 - 1:44am

The slide show hosting site is VERY slow.

I cant watch the slides :-(

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.