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?
I'm looking for the exact same feature. It's better explained on Jenkins' wiki: https://wiki.jenkins-ci.org/display/JENKINS/Building+a+matrix+project
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. :(
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
BUMP
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.