title: Bamboo Stages and the Maven Lifecycle
body: <p>Let's say I have a pretty standard maven based java project that uses almost all of the maven lifecycle. Compile on <code>compile</code>, JUnit test cases on <code>test</code>, integration testing using an automatically started and stopped jetty on <code>integration-test</code> / <code>verify</code>, deploying to our internal maven repo on <code>deploy</code>. Basic stuff.</p>
  
  <p>This also runs as a build plan on our Bamboo server. At the moment, there is only one stage with one job with one task, that executes <code>mvn clean deploy</code>. This ensures that the SNAPSHOT on our repo is always the last version from source control that compiles without test failures.</p>
  
  <p>Now, my feeling is that Bamboo could do more... What are all the stages and tasks and stuff for, if everything is handled in one lonely task? So I thought, maybe the could be a "test" stage, an "integration-test" stage and a "deployment" stage that execute <code>mvn test</code>, <code>mvn verify</code> and <code>mvn deploy</code>... But: Every Stage has it's own checkout directory and as such, the last stage has to do the whole maven lifecycle up to deploy again, including test and verify... </p>
  
  <p>What would be a good way to map maven to bamboo? I didn't find any example configurations like this. Has anyone done this before in a coherent way? Or should I move testing stuff from the pom.xml to directly configured Bamboo jobs?</p>