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?
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.
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!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Would the following Feature Request work? https://jira.atlassian.com/browse/BAM-11447
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thats great. If you have any questions about plugin development, post them on Answers :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.