Don't build branch plan when merging to master or Don't build artifacts from branches

I am trying to setup a build that runs all my tests on the branches, but when merged into master it builds artifacts. I have tried several options but I am unable to get it to work exactly the way I want.

Right now I have two plans, but I think I should be able to combine them into one. My ideal plan would be a branch plan that runs all the tests on the branches, but does not build artifacts. Then when merged to master it would repeat the tests, and build the artifacts.

I am not able to achieve this because branch plans also build artifacts and I cannot seem to find a way to disable that.

I have also tried setting up two plans, one that builds branches without artifacts, and one that builds master with artifacts. However when merging to master it runs both plans. I think this is because in the branch plan I have master selected in the Repositories tab. I must select a branch in the Repositories tab because it is a required field, I also cannot select a different branch because all the other branches are feature or bug branches so they get removed when merging.

So I guess I have two questions.

  1. how can I setup a branch plan that only builds artifacts on master (not branches)? or
  2. how can I setup a branch plan to not build on the default (master) branch, only on the branches? (I have already tried the "Only create branches that match" option, it doesn't work because master is the main branch for the default stage)

3 answers

I've been searching for an answer to this problem for over a year.  Interested in hearing an answer.  Our "master" plan does a 'mvn deploy' and pushing branch work into our Maven Repository for branches is not acceptable.

Same problem. Surely this is a common issue? This JIRA issue seems relevant:

Same problem here, bamboo currently  build artifacts when I push a branch release/X.X.X, and it works good. Then I expect to merge on master and re-use this artifact (to retrieve my custom version tag in the branch name).

But when I merge the release branch into master, bamboo triggers another build phase, and it overwrites my previously created artifacts. So I don't have my version number anymore.

Tried all day to workaround this, can't find a way.  It seems like a pretty common release flow, why is it so hard ? 

stumbling across this today... in our scenario, we want the develop branch to be mvn deployed to make snapshots available to other projects, but don't want pull request branches to be deployed.  

the cruddy workaround I have right now is to have two plans... a plan for develop and a plan for PRs... but because the repository is tied to a branch, the PR plan also builds changes to develop, and so changes to develop get built by both plans.  definitely a waste of resources, but does achieve the separation desired.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Wednesday in Opsgenie

Getting the Most out of Atlassian and Opsgenie Together

We’re excited to invite you to this action-packed webinar where we will demonstrate how to integrate Opsgenie’s powerful alerting and on-call management tools with your entire Atlassian stack. Mar...

63 views 0 0
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