Bamboo Plan with multiple repository. How to Combine Repository build triggers into one build
Asked by sibi:

Hi

We have multiple repositories linked to a Bamboo plan and would like to combine bit bucket commit triggers on different repository to result in one build being triggered.

I have tried the "Change Detection options" under "Repositories" for the bamboo plan with "Enable quiet period" set. What I observe is that for each repository a separate build is queued and run one after the other.

What I am trying to achieve is to combine the commit in all linked repository to cause a single build. This requirement stems from the fact that each of the linked repository are for modules and which have a dependency hierarchy. This means more than one repo could potentially have a commit that needs to be included in same a build for entire build to succeed.

Any pointers is highly appreciated.

Please note the the versions of bamboo and bit bucket are as follows.

1) Bamboo Version: 6.0.3

2) Bitbucket version: 5.1.0

Thanks in advance


Answers:
author: Robb Eads
body: I'm on Bamboo 6.7.2, BitBucket 6.3.2. Setting the "enable quiet period" option appears to be working for me to accomplish what it sounds like you want, not sure why you're not seeing the same thing unless it was improved in a later version than yours. That option is set on all of the repos in my plan, and when I push multiple repos at about the same time, I'm only getting one build, and it includes the changes from all affected repos.

Also, should note that I have a single trigger defined that includes all repos. Having multiple triggers, one-per-repo would probably cause multiple builds, but haven't tested.


author: Daniel Santos
body: community

Hi Sibi,

I got that you want to trigger a build based on multiple repository changes, but I still need to understand what exactly conditions you want to be met for a trigger to happen in Bamboo.

* Do you want X commits then a build triggered?
* Do you want a build only when a specific repository (the main repo) has changes? You could just have one trigger in the main repo and when building it would get all changes from the library repos.
* Do you want Bamboo to wait for a specific time to build and then use all commits after the last build?

These are the trigger possibilities Bamboo offer out of the box: [Triggering builds - Atlassian Documentation](https://confluence.atlassian.com/bamboo/triggering-builds-289276897.html).  

Usually, libraries will be developed separately and will trigger a build on any new commit for their plan. An app will also have a reference of what versions of libraries are used on its main repository. The app will use only stable versions of the library and any new stable version added will also require a new update on the main app repository. What I'm trying to say is that usually there is only one repository that will be the main responsible for triggering the plan build.

If you don't have connections between the repositories that can help Bamboo to decide when to run a build, what do you think is the strategy Bamboo should use to meet your needs on triggering builds? Answering that will probably help me to understand better your needs.


Tags: bitbucket

bitbucket-server

server