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

Execute concurrent stages within a plan

Cameron Ferguson
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 20, 2011

For our setup, we compile a single product on different machines (linux 32/64, windows 32/64, etc) for different releases. Nothing for our setup is shared between stages of our plan, and each stage is a different system we compile under. So if we compile 4 version, we have 4 stages, each stage has 2-3 jobs in it.

Is there anyway to configure the plan to execute all the stages at the same time? I've seen concurrent plan options in the admin area, but didn't know if I could say "i want to execute stages x, y, z at the same time" Since each stage deals with a different agent.

Edit: It seems after further research that instead of building on each system as separate stages, I should have a single "build" stage that has multiple jobs, then those jobs could be executed simultaneously. Is this correct?

Thanks!

1 answer

1 accepted

0 votes
Answer accepted
Przemek Bruski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 21, 2011

Stages are always run sequentially. Jobs are always run in parallel (provided that you have enough agents). The concurrency options you have seen relate to plans.

If you want the OS-builds to run concurrently either clone the plan 4 times (once for each system) and delete the extra stages in each of them or put all jobs in a single stage.

Cameron Ferguson
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 21, 2011

I have it now where they are building concurrently, but I seem to have errors when they try to get the repo from Perforce. It seems that when the 4 jobs all want to pull from perfoce at the same time, it gives me the error "(com.atlassian.bamboo.repository.RepositoryException : Unable to extract client root from Perforce, therefore could not evaluate where the source will be checked out to.)"

Is there a way I can pull the repo from perfoce just once, and have all the jobs use that instead of each job pulling from perforce at the same time?

Cameron Ferguson
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 21, 2011

Let me extend onto my last statement. This doesn't always happen for each job.. sometimes it works fine for a job, other times it breaks. It's breaks about 70% of the time though.

Przemek Bruski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 21, 2011

I don't think you'll be able to achieve that setup on Perforce...

Cameron Ferguson
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 21, 2011

could i potentially setup a stage prior to my build stage that pulls the repository from perforce, maybe stores it as an artifact (tar it up or something), then have that artifact for use in the jobs of the 2nd stage?

Przemek Bruski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 21, 2011

Yeah, you can do that. Just define it as a shared artifact, tar it with a Script Task and make jobs in 2nd stage depend on it (each should have an untarring Script Task).

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events