Infrastructure best practices

Xabier Davila May 3, 2012

Hi,

We have recently setup a Bamboo instance with the purpose of testing it as our future CI solution (primarily for .net projects, but also Java and others)

Everything looking good so far, but we've found a bottleneck when moving artifacts back and forth from the server and the build agent.

As an example of one basic plan, we have the following stages:

1. Checkout and compile: This produces an artifact (in the build agent) that is stored back in the server. Artifacts can be quite big (more than 1GB)

2. Unit tests: Artifact is moved back to the agent in order to run the unit tests

...

So this moving artefacts between the Bamboo server and the build agent is slowing down all the prices, even we're just running a single build agent and 5 projects.

What's your advise/best practice with this?

Any advise regarding the infrastructure to run Bamboo in a production environment with aprox 50 build agents and a few more projects running CI?

Thanks

1 answer

1 accepted

0 votes
Answer accepted
Jan Swaelens
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.
May 13, 2012

You could try to work around the network back and forth by not defining the artefact as an artefact and publish it on an ftp or shared drive under a unique folder (ci build nr for example). This way the artefact doesn't have to go to the bamboo server and agent's can retrieve it from the shared drive or ftp server which is going to be faster. Another alternative might be using maven or ivy as a dependency tool which would allow you to take advantage of the local cache they keep when retrieving artefacts (but in your case, this might blow up the artefact server by the cheer size of your artefacts - you'll need to add proper purging which would complicate things even more).

But in the end, you will keep on having delays when handling +GB artefacts when you run on remote agents either way you look at it (you could just stop using remote agents and get a faster build server to run everything on one node).

Concerning the hardware requirements, you could take a look here:

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events