Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,366,266
Community Members
 
Community Events
168
Community Groups

Bamboo build merged two builds in one

Edited

I have a bamboo plan set to 'Bitbucket Server repository triggered' and 'Branches' set to manual. My repo is configured with 'master' as being the branch and 'Enable quiet period' is not checked.

Essentially, this plan runs whenever there is a merge to master and everything works fine.

Although, I observed the following behaviour:

Branch A merges into master -> Triggers build 1

(while build 1 is running)

Branch B merges into master -> nothing appeared on the bamboo queue

Branch C merges into master -> nothing appeared on the bamboo queue

(build 1 finishes)

Build 2 starts with changes from both merges (Branch B -> master and Branch C -> master)

 

It doesn't seem right, since 'quiet period' is not enabled. My train of thought is that 1 change triggers 1 build.

 

Is it the intended behaviour or is it a bug? Maybe there is another option on bamboo to change this behaviour that I'm not aware of.

 

Edit 1: I'm using version 6.6.2 build 60606 - 14 Aug 18

2 answers

We add a unique capability for each Build Agent.  For build jobs that must be serial, a specific, unique capability requirement is added.  This breaks redundancy, should that now special build agent fail, manual intervention required to resume the pipeline. 

A solution, but not optimum. 

0 votes
Foong Atlassian Team Jan 15, 2019

Is the Concurrent build enabled at Administration > Plans > Concurrent builds ?

If not, Branch B merges will fail to trigger a new build.

No, it's not enabled.

Foong Atlassian Team Jan 15, 2019

Does it work fine after enabled?

Sorry for the late reply.

My pipeline needs to be serial, so I cannot enable Concurrent builds without breaking it.

I can think of enabling Concurrent builds and limiting one agent per plan, so that I'll never have parallel builds, but would still have a build queue, but it's not scalable.

Is there any other solution to that?

How about enabling Concurrent builds and dedicate a single agent to the plan?

Since the plan have a dedicated agent, only that single agent will perform build for the plan so it is still considered as serial.

I can think of enabling Concurrent builds and limiting one agent per plan, so that I'll never have parallel builds, but would still have a build queue, but it's not scalable.

Can you clarify more on the above problem?

I can think of enabling Concurrent builds and limiting one agent per plan, so that I'll never have parallel builds, but would still have a build queue, but it's not scalable.

is the same as

How about enabling Concurrent builds and dedicate a single agent to the plan?

Since the plan have a dedicated agent, only that single agent will perform build for the plan so it is still considered as serial.

The only problem is that for every plan that I need to be serial, I'll need to create one dedicated agent. It's not scalable.

e.g. If I have 10 plans, I need to set up 10 agents, each dedicated to one plan. Now, if I add X more plans, I have to create X more agents and set them to be each dedicated to one of the new plans. This is pretty annoying, specially if more than one person is in charge of this configuration.

Can't it be turned into a feature?

Like Foong likes this
Foong Atlassian Team Mar 05, 2019

Yes, it is currently tracked as feature request here https://jira.atlassian.com/browse/BAM-8811

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events