Got an article that explains Bamboo best practices for plans, stages, jobs, tasks to build and deploy to Dev Integration, QA, and production?
Asked by Tim Colson:

I'm setting up Bamboo 3.3.3 with the cool Tomcat 7 deploy task for a Grails app. I created a "DEPLOY" stage but when I specify the Grails WAR file that came from my "BUILD" stage, Bamboo complains because the artifact isn't in the current stage directory structure. Bummer.

Before I go down the path of fixing that, I looked for some articles on best practices from end to end for Bamboo... best I could find is Mister Dumay's article on deploying to Tomcat (which is the topic that started my Monday morning), but he just throws the deploy into a new plan without any other stages - which is great for an example, but doesn't work in the overall plan I've got.

<http://blogs.atlassian.com/2011/05/continuous_deployment_with_bamboo_and_tomcat/>

-T


Answers:
author: ReneR
body: "Best practices from end to end for Bamboo"

<br />

I think it would be useful to expand on the expectations around what specific questions you have. As an experienced Build Engineer and long-time CI practitioner I wouldn't even know where to begin with putting down "best practices". There's just too much information.

comments: author: Tim Colson
body: Hi Rene -- I knocked this down -1 because it's not really an answer per se, but thanks for the **comment**. :-)

I've used CI for nearly ten years myself, and I agree there is a lot of details that could go into an article. What I'm looking for is an explanation of why Atlassian built Bamboo the way it did with Projects, Plans, Stages, Jobs and Tasks. The manual just says *what* they are, but not**why** they exist and how to use them.

In my case, and possibly others, a dev group is working on a webapp, this one in Grails. I'm interesting in hearing how Atlassians would use Bamboo to build it, deploy to a development integration Tomcat instance, promote a labeled build to a QA environment, label the WAR artifact, file bug reports against that build, send emails to the team with custom links to the build, inject passwords that aren't in the src repo, create a manual stage (?) to deploy the app to a production server, and maybe roll back in case of problems post deploy.

As I write this, I see that I'm actually asking about SCM, and issue tracking, and versioning...etc, so as you pointed out, there is a LOT of **potential** info.

I'm not looking for all the answers, but I am looking for **any articles** specific to the novel features in Bamboo and how they can work together to bring more value than say Hudson/Jenkins/Anthill/TeamCity/etc. :-)


author: ReneR
body: \* So you build mostly on Linux?

\* What build tool are you using? Rake?

\* How do you manage dependencies?

\* What do you use for issue/bug tracking?

Is your interest entirely comparative? I.e. You have your requirements:

\* Build a grails webapp

\* Deploy build to Tomcat

\* Apply label to a build, deploy to a test environment (QA)

\* Promote build from test environment to Production. With rollback if needed

And you want to understand how Bamboo does this better than Hudson/Jenkins/Anthill/TeamCity/etc?

Or is it more... what's the best CI-tool-agnostic way of doing above?


author: Tim Colson
body: Thanks, Jens - I look forward to upcoming articles from James, every little bit helps. :-)


author: Jens Schumacher [Atlassian]
body: We are working on a complete documentation overhaul right now. Additionally I have the pleasure of welcoming Mister Dumay to the Product Management team for Bamboo, which will mean that we will see a lot more articles about best practices in the next few month.

We are also have plans to make the Artifact Sharing a whole lot easier and move it into Tasks for 4.1.


author: Tim Colson
body: FYI - I configured a shared artifact, and a dependency in the DEPLOY stage on that artifact, and my deploy stage works. Yippee.

That said, I'd still enjoy an article/blog/video from somebody that's thought long and hard about how to setup multiple environments in Bamboo. :-)