Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,298,053
Community Members
 
Community Events
165
Community Groups

Limit the amount of parallel jobs running in a stage

Due to an integration with BrowserStack I can (currently) only run 2 browser tests at the same time. However I'd like to run all browsers in parallel jobs instead of sequential tasks. Is it possible to limit the amount of jobs that can run simultaneously within a stage using YAML specs.

I have seen something about a concurrent-build-plugin but cannot find any documentation on the YAML specs for that. 

1 answer

You can configure the default number of concurrent builds for a plan in the Bamboo administration. The default can then be overridden on the Miscellaneous tab of a plan's configuration (called Other tab in recent Bamboo versions, the docs are outdated).

With Bamboo Specs (Java), this can be programmatically handled as documented in the Miscellaneous plugins (Java) section:

ConcurrentBuilds concurrentBuilds = new ConcurrentBuilds()
    .maximumNumberOfConcurrentBuilds(7);

Plan
plan = new Plan(project, "My Plan One", "PLAN1") .description("This is an example of a plan") .enabled(true) .stages(stage1) .pluginConfigurations(concurrentBuilds, configurationForPlan);

I haven't tried whether this is also available for Bamboo Specs (YAML), but correlating the Java approach and the resp. Miscellaneous plugins (YAML) section seems to suggest that such settings might be surfaced via the "other" key in YAML:

version: 2

Build binaries:
  ...
  other:
    clean-working-dir: true

Unfortunately this doesn't seem to be covered by the export plan feature yet (not even the Java version), so as mentioned in the docs,  I'm afraid spelunking in the source code or some trial and error is required to identify the key, if any:

In case a plugin doesn’t have a dedicated builder, you can use AllOtherPluginsConfiguration to provide configuration for such plugins as a workaround. Refer to plugin documentation to obtain a list of valid keys. Note that keys imported with AllOtherPluginsConfiguration are not validated.

Good luck!

Thanks, Steffen for this extended answer and it learned me a thing or two. Unfortunately it does not answer my direct question as I want to limit the number of parallel jobs from my YAML file.

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bamboo

Bamboo Data Center on Kubernetes

Hi, If you are running self-managed environments and looking to adopt modern infrastructure, Bamboo Data Center can now be deployed in a Kubernetes cluster. By leveraging Kubernetes, you can easily...

956 views 3 8
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you