Run builds concurrently on a single Remote Agent using Docker

jamesmatlock September 12, 2018

I know that you can normally only run builds sequentially on a single remote agent but is it possible to run builds in parallel on a single remote agent if you use the Docker runner to isolate each build in its own container?  At one point we used VMware to accomplish this by creating many virtual machines but it was difficult to manage and required a lot of computing power.  Docker would be much easier to manage and with the container isolation I would think it has the potential to solve the problem of only one build per agent at a time.

1 answer

1 accepted

0 votes
Answer accepted
Edwin Kyalangalilwa
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 12, 2018

Hi @jamesmatlock,

No, since it will still be running in a single remote agent.

You'll have to run multiple containers each as a remote agent and docker can be a capability in each one. If your Bamboo server has Docker then you'll only add one more remote agent.

jamesmatlock September 13, 2018

@[deleted] Kyalangalilwa, Thank you for your response.  I'm really new to Bamboo.  So if I understand correctly, I can run multiple agents on a single remote piece of hardware which has the functional capability to do so.  Each agent just needs to have its own space to work out of.  Is that correct?  I don't, necessarily, need Docker to make that happen.  There are other reasons to have a standardized Docker container for testing though.

Edwin Kyalangalilwa
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 13, 2018

Basically each server counts as an agent. 

I can run multiple agents on a single remote piece of hardware which has the functional capability to do so.

Bamboo server itself counts as an agent (local agent). So this is where Docker would come into play.

How much remote agents are you licensed for?

So for example to run builds in parallel in Docker - you would have Docker installed on the local agent and another installed in a Docker container as a remote agent. Bamboo will recognize that there are two capabilities of Docker.

jamesmatlock September 13, 2018

Right, so it would seem that there is no issue with having multiple Docker containers in existence with their own remote agents installed in them executing different plans simultaneously on the same computer.  Is that a correct assessment?

Edwin Kyalangalilwa
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 13, 2018

Yes, that is correct.

jamesmatlock September 13, 2018

Thanks again.  I guess terminology was the sticky point for me.  Once the terminology became clear everything fell into place (ie what's an agent vs the hardware it runs on).  I had been reading questions from other people and I think it was their use of the terminology that had me confused.  You cleared that up for me.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events