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 votes

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 Sign up to answer
Community showcase
Published yesterday in Jira Ops

Jira Ops Early Access Program Update #1: Announcing our next feature and a new integration

Thanks for signing up for Jira Ops! I’m Matt Ryall, leader for the Jira Ops product team at Atlassian. Since this is a brand new product, we’ll be delivering improvements quickly and sharing updates...

183 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