Bamboo builds and dependencies

Stefan Johansson December 13, 2012

Hello, let's assume I have three .NET projects to build. Each of them produce DLLs that the next depend on to build.

So the build order has to be 1,2,3 obviously. I cannot seem to find any information on how to work with dependencies and Bamboo. If I build project 1, how can the output (DLLs) of that build be used in the build of project 2 and how would they actually be referenced (assuming everything is on BitBucket)?

We are currently using CruiseControl locally and this is straight forward since it's basically like building it on your own machine locally. It builds the projects in order, places the output in defined output directories which then the following projects uses for the dependencies.

Thank you.

2 answers

1 accepted

0 votes
Answer accepted
Bryce Johnson December 19, 2012

Unfortunately you can't share artefacts between plans, which a lot of customers would like to do. You would need to have those builds in one plan, with each build being in its own stage making three stages to your plan.

In each build you can then share the artefact and set the path to the expected location of the artefact to with with respect to the build working directory. So you would create an artefact definition in stage 1's job, share it, then in stage 2's job make that an artefact dependency and toss it into the directory where your consuming build expects it.

If you don't want one singular plan with 3 stages and their associated jobs, you could have three plans with plan 1 being the parent of plan 2 and plan 2 being the parent of plan 3. However, you would then need to ship your artefacts to a network/shared drive or deploy the artefact with a dependency management tool like maven from plan 1 then depend on it from plan 2.

Cheers,

Bryce

0 votes
LucasA
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.
December 17, 2012

Hi,

You have to configure each build as a task of the same plan, using the same logic that you are using on the other tool. Check the tasks do only run if the previous one has been correctly executed.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events