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
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.
Is the Concurrent build enabled at Administration > Plans > Concurrent builds ?
If not, Branch B merges will fail to trigger a new build.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, it is currently tracked as feature request here https://jira.atlassian.com/browse/BAM-8811
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.