Bamboo multi-configuration plans

With some automated build systems I've used in the past I've seen plans and configurations as separate concepts. With Bamboo they are one and the same.

What I mean is having some way of applying multiple configurations to the same build plan, in order to build the same plan with different compilation settings and/or for different platforms. I find this incredibly cumbersome with Bamboo at the momement, and it doesn't scale well for a large set of configurations.

What I would like to see is a way of specifying configurations separately from plans. Each configuration has a set of agent requirements and a set of key-value properties which can be substituted in a plan. Each (configurable) plan has a set of enabled configurations. The combination of plans and configuration is equivalent to the current notion of a plan. In my mind it sounds quite simple and straight forward, but I think there might be some issues with how to deal with plans triggering other plans (e.g., either by triggering when all configurations have completed, or triggering equivalent configurations in dependent plans).

Are there any plugins or planned features that can achieve this?

5 answers

I'm looking for the exact same feature. It's better explained on Jenkins' wiki:

Is there anyway with the current version of Bamboo to get the same feature? I really like the way it is done in Jenkins though; it's so simple.

The feature request mentianed above (BAM-907) was resolved in BAmboo 4.0 with the introduction of plan branches. That doesn't cover matrix testing though. :(

  1. BAM-9189 was resolved at the same time it seems. Also due to the introduction of Plan Branches.

There is a feature request to implement templating for Plan configurations which would allow you to have a "master" Plan that all other Plans take their configuration from.

Would using Plan variables to abstract the configuration you want to change and then run a parameterised build with the variable values you wish to override work for your usecase?

Aren't the parameterized builds only available when you manually trigger a build? That wouldn't be workable. My configuration proposal would probably boil down to something similar except the parameters and their values are named as a configuration and plans are combined with these predefined configurations to produced the configured/parameterized plans. Including agent requirements is obviously also important since not all configurations may build on all agents.

Bottom line I think configuration and build steps are two orthogonal concepts which are currently merged into one to the detriment of the managbility of plans in large multi-configuration environments.

Our code base is multi-platform, especially our game engine. Some code only builds on Windows, some on Linux. I need to be able to exercise our whole build on both platforms as a prerequisite to running unit tests. If the code breaks on one platform but not the other, we need to detect that. Also different C++ toolchains will conform to the standard differently than others. It helps you create a more robust codebase to build against different platforms and toolchains.

Definitely need to see the ability to build the same plan on multiple agents (some agents are on Windows, some are on Linux).

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,096 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