Prevent plans from running simultaneously

I have two plans that use a shared resource, and which can't run simultaneously, even though there may be agents available to run them. Is there a way I can do this in Bamboo?

3 answers

1 accepted

I implemented a simple plugin to solve this problem a while back and have just gotten approval to open source it. Source and documentation can be found here: https://github.com/ampedandwired/bamboo-mutex-plugin.

This would still be better implemented within Bamboo core I think, but this plugin should do the job until BAM-2423 is implemented.

0 vote
Renjith Pillai Community Champion Apr 18, 2012

AFAIK sequencing is achieved based on agent availability. If you have multiple agents which can do the same work, I guess it will get started in parallel. Is it not possible that you have a single agent for this work so that it gets done in parallel? Use a custom capablity if needed so that the job looks for this specific agent for its work.

Thanks Renjith. See my response to Jobin as to why I can't do this.

Renjith Pillai Community Champion Apr 18, 2012

Okie I understand. Will it be possible to pull out this particular job alone and make a new plan with this single agent? And trigger this new plan when the original one ends. http://confluence.atlassian.com/display/BAMBOO40/Setting+up+plan+build+dependencies

0 vote

I can think of a workaround. Configure both the plans to run on the same remote agent. Then only one plan can run at a time.

In order to restrict the plan to run on the same agent, add a custom capability to the agent with a unique key and then configure the plans to run only when the custom capability is present!

Thanks Jobin,

Using capabilities to run both plans on a single agent is not going to get the result I want, unfortunately. Each of the plans in question has numerous jobs that I *want* to be run in parallel across many agents (they are long running acceptance test jobs). It's just that I don't want jobs from the different plans intermingling.

I may look into writing a custom plugin for this if no other options.

Hi James, yep that pretty much sums it up - thanks!

In the meantime I'll look at doing it as a plugin.

Thats great. If you have any questions about plugin development, post them on Answers :)

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