It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to deal with my projects pom hierarchy when building with multiple stages in my plan

Here is my project structure:

/
pom.xml
/dir1
/pom.xml
/dir1_1
/pom.xml
/dir2
/pom.xml
/dir2_1
/pom.xml
/dir2_2
/pom.xml

...

It would be nice to use a modular plan in Bamboo. The parent poms are both aggregate and inheritable.

I would like to have the following stages in a plan:

  • Checkout
  • Compile
  • Test
  • Deploy

Where I would have multiple plans, each compiling, testing and deploying individual projects from the overall project; i.e. dir2_2 under dir2 (dir being a substitute for a project name). In order to build dir2_2, I need to have the upper and core pom projects available.

Is this possible?

1 answer

1 accepted

0 votes
Answer accepted

Overall structure:

* Plan - Build All

* * Stage 1 - Build Proj 1

* * Stage 2 - Build Proj 2

Stage structure:

Stage N

Job 1

Task a = Source Checkout task top-level upper parent POM to sub-dir .\

Task b = Source checkout task core POM to sub-dir .\dirN

Task c = Source checkout task project to sub-dir .\dirN\dirN_m

Task d = Call 'mvn deploy' inside .\dir\.dirN_m

That's it.

"mvn deploy" will of course depend on tests passing, which of course will depend on a compile. Though it will be much easier to make dirN_m a self-contained project that doesn't require the ..\pom.xml and ..\..\pom.xml. You can release those POMs as artifacts to your Maven repo and list them as dependencies in dirN_m's pom.

N.B. Multiple checkout tasks is only possible in Bamboo 3.3. Another way to do that is to setup a "shell" project in your source repo that has the structure needed. You can accomplish that with svn:externals, git/hg sub-repos, P4 client specs, ClearCase viewspecs, etc...

Rene,

If I were to click the Wallboard view would I just see a single pass/fail for the entire Plan? Our preference is to be able to break out the test pass/fail per artifact.

Does an easy way exist for this?

Thank you,

Shane

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Bamboo

Unable to add or edit Bitbucket Cloud repository in Bamboo

On 31 May, a GDPR-related change went live in the Bitbucket Cloud API that resulted in users not being able to create or edit Bitbucket Cloud Linked repositories in Bamboo. This API update removed t...

307 views 2 6
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you