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

Accepted Answer
0 votes

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 Monday in Jira Ops

Jira Ops Early Access Program Update #1: Announcing our next feature and a new integration

Thanks for signing up for Jira Ops! I’m Matt Ryall, leader for the Jira Ops product team at Atlassian. Since this is a brand new product, we’ll be delivering improvements quickly and sharing updates...

509 views 0 9
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you