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

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
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published May 18, 2017 in Bamboo

FAQ: How to Upgrade Bamboo Server

Bamboo 5.9 will no longer be supported after June 12, 2017. What does this mean? As part of our End of Life policy, Atlassian supports major versions for two years after the first major iteratio...

1,568 views 0 6
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