Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How to run the same plan on multiple agents ?

BarthélémyH
Contributor
June 28, 2011

I have a given plan in Bamboo that I want to run on different agents. This is useful because I need to test that my software can compile and run on different platforms. How do I achieve this ?

I have configured 2 agents but the plan is always ran only on the first one. I don't think that concurrent run correspond to what I am looking for.

Thanks

5 answers

1 accepted

1 vote
Answer accepted
Przemek Bruski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 28, 2011

You have to clone the plan and alter the requirements so that the original runs on one agent and the clone on the other.

BarthélémyH
Contributor
June 30, 2011

This is what I ended up doing, but how ugly is that ? ;)

I mean, this seems more like a hack than a normal use of the tool .

How do I do if I want to modify my plan (like add a step) in the future ? do I have to modify each copy of the plan ?

Thank you for your reply !

dlee August 9, 2011

You can clone jobs instead of plans, which I find works slightly better (at least they'll share the source repository config). I also find it's better organizationally, but that's just a personal preference.

Ed Segall August 9, 2011

Cloning jobs may save a couple steps when you do the clone, but it doesn't address the maintenance issue raised by Barthelemy von Haller. That's why I suggested (below) changing the requirements without cloning the plan. It is a little bit ugly, but note that the unique agent names only have to be defined once. After that, the ugly part is quite small and easy to manage.

dlee August 9, 2011

Changing the requirements doesn't solve the problem of ensuring that every build runs on all supported platforms. If you only have one job, then Bamboo will select just one agent to run the build.

This is a big issue for C and C++ projects, where running every build on every supported platforms is critical.

Ed Segall August 9, 2011

Not sure why you say that. Bamboo will only select an agent that matches the requirements. When one requirement is to match a unique agent name, that's the only agent that will be selected.

The more compelling issue is that you have to go through this process every time you modify the build.

BarthélémyH
Contributor
August 10, 2011

Hi Ed and David,

Ed, what David and I meant is that a single plan should be able to automatically run on multiple/all agents, not only one. And this is not achievable at the moment. Therefore, I have to have 1 plan per agent on which I want to test. It becomes a maintenance problem very quickly. Hudson and buildbot allow it for example (and TeamCity apparently).

Please see (and vote!) these issues I created for this missing feature : https://jira.atlassian.com/browse/BAM-9188 and https://jira.atlassian.com/browse/BAM-9189

Nikhil Nikhil
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
February 3, 2017

Cloning is not a solution.

0 votes
Rita Garcia March 10, 2019

I see this is an old discussion. Is this still the same solution for current Bamboo instances?

0 votes
Bryan Halter
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 25, 2011

This is a feature that Hudson/Jenkins implements through matrix builds where you can specify that a job has to run on various slaves/labels. That would be handy here.

0 votes
dlee August 9, 2011

+1 for any feature that makes this easier. We have several plans/jobs which are identical, except for their dependencies, just to get things to build across all of our supported platforms. It's a minor pain to set up, but the real hurt comes when you have to change anything, b/c you have to make the same change across all your clones plans/jobs.

0 votes
Ed Segall August 4, 2011

1. Define, for each agent that you want to test, a custom property that is a unique agent name, e.g. <servername>.<agentname>.

2. For each agent under test,

2.1 Modify the plan to require this agent's unique name.

2.2 Run the build and evaluate for success vs failure.

2.3 Fix as needed.

3. After all agents have been successfully tested, remove the requirement. Future builds will now be able to build on any of the tested agents.

Wendy Bohannon August 10, 2011

I am looking for a feature that JetBrain's TeamCity has where we can define a plan and have it run on all required agents. e.g. we have a plan that installs a software on all of our remote agents (12 of them right now). If I have to define 12 jobs to do this, it is not scalable.

Nikhil Nikhil
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
February 3, 2017

+1

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events