Bambo: Deploy multiple servers

Hey guys :)

We're using Adobe CQ as our CMS system, and have a lot of customizing (internal and external).

In order to make building and deploying easier, we'd like to use Bamboo for our Release Management (and it looks great so far :) ).

I've created a project containing 2 stages for test and production (each of it contains 2 tasks SVN checkout and Maven which builds & deploys the code).

We have to build & check out the code 3 times, because we have 3 servers to be deployed (Maven directly uploads the newly builded code to the CQ server). Is there a way to check the code out only once, and then just build it 3 times with maven?

One other thing which I'm not quite sure of how it works: Does Bamboo cache the version of the SVN from when it started. For example:

Imagine that I submitted changes to the code, and then executed the test stage in Bamboo (which builds the code and deploys it to the 3 servers). At this point I would start testing my changes in the browser. In the meanwhile, my colleague makes some changes at another part of the code, and starts a new test stage build. What happens when I successfully tested my changes and would now like to deploy it into production (using the production stage in Bamboo). Will the changes of my colleague also deploy to the production or can I be sure that only my changes will find their way to production?

I hope I could describe my problem as good as possible. If you have trouble understanding what I'm trying to say, please tell me, I'll try to formulate more clearly.

1 answer

0 vote

The answer to the second question is: of course! :-) Bamboo resolves the repository revision before the first stage and ensures that all Jobs build the same codebase.

As for organizing the stages: key question is: are binaries you deploy to each server different? In other words: do you really need to rebuild before each deployment?

If they are not, then I think the best strategy is to use artifact passing. So in the first stage you build all the binaries and save them as Bamboo Artifacts. In the next stages you subscribe to those Artifacts, which allows you skip the checkout and build, you just need to deploy.

If you build different binaries in different stages (i.e. using different compiler switches or sth. like that) then I'm afraid there's not much to gain. Bamboo enforces working directory separation for different Jobs, so you need to get the source into your working dir somehow. While you could create an artifact containing source package I don't think that earns you a lot compared to simply checking out. (unless your SVN server is slow to respond for some reason)

Suggest an answer

Log in or Join to answer
Community showcase
Renan Battaglin
Published May 18, 2017 in Bamboo

FAQ: How to Upgrade Bamboo Server

Bamboo 5.9 will no longer be supported after June 12, 2017. What does this mean? As part of our End of Life policy, Atlassian supports major versions for two years after the first major iteratio...

1,087 views 0 5
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot