Bamboo 4.4 : Bamboo system requirements

On this page:

 

 

Bamboo has three principle system requirements that need to be satisfied for successful installation and use. The following sections will deal with each of these requirements in turn.

Hardware requirements & considerations

 Note that Atlassian currently only supports Bamboo on x86 and 64 bit x86 derived hardware platforms

Hardware considerations

For Bamboo, the minimum hardware requirements depend on the size and complexity of your plans. You should consider:

  1. Will your builds have functional tests as part of the plans?
  2. Are your plans executed simultaneously? If so, how many plans will be running at any given time?
  3. What are the requirements for your running builds, e.g. do they need large amounts of memory/disk/swap space?
  4. How many users will be using Bamboo at any given time? Like any web application, the system resource needed is proportional to the load experienced by the server.
  5. How many local agents do you plan on running?

Storage considerations

The Bamboo installation size is approximately 140MB, however when running, Bamboo's storage requirements depend upon its usage pattern. The usage pattern further depends on factors such as: 

  • how many plans you will run 
  • how many tests each plan will be executing 
  • how many artifacts you are going to have and how large they are.

We recommend you allocate about 20GB on top of the Bamboo installation size, and evaluate your usage patterns. Where usage is likely to grow, consider adding additional storage.

Database connection pool size

The number of database connections available to Bamboo is the the lower of two values: your DBMS connection limit and the configured Bamboo connection pool size. From Bamboo 4.2, the Bamboo connection pool size has a default value of 100.
For a small to medium instances (~5 concurrent users, ~5 busy/building local agents, 20 remote agents, 50 plans), the default values are sufficient.

You should increase the connection limit if you notice UI freezes or general sluggish UI performance. Do not decrease the amount of available connection below 25.
Note: having too many connections available to Bamboo carries no performance penalty as long as your DBMS can handle the load.

Bamboo's connection limit can be modified by altering the following value in your bamboo.cfg.xml file:

<property name="hibernate.c3p0.max_size">100</property>

Local agents considerations

If you run more than 5 concurrently building local agents, note that each busy local agent requires a live database connection, so you'll probably need to adapt the connection limit.
Also, note that large amounts of busy (building) local agents can negatively influence the performance of a Bamboo server (and other services running on that host).

Remote (or elastic) agents considerations

Remote agents do not require special database connection settings.

Estimating the number of db connections

The following formula gives a rough estimate of the number of database connections that will be required:

(Concurrent users)/5 + (Busy remote agents)/5 + (Local agents)*1.1 + (Amount of concurrent change detections)

For example, an instance with:

  • 5 concurrent users
  • 30 busy remote (or elastic) agents
  • 30 busy local agents
  • 60 plans with repository polling set to 60 second intervals (assume 3 seconds per change detection)

would require 1 + 6 + 33 + 3 = 43 connections.

Client/server software requirements

Bamboo is a pure Java application and should run on any platform, provided all the JDK requirements are satisfied. The Supported Platforms page lists the required server and client software supported by Bamboo 4.4.x, however a brief summary can be seen in the table below:

 BrowsersJava PlatformOperating SystemsApplication ServersDatabasesSource Repositories
Server side 
  • Oracle JDK
  • OpenJDK
  • MS Windows
  • MacOS X
  • Linux
  • Apache Tomcat
  • MySQL
  • PostgreSQL
  • MS SQL Server
  • Oracle
  • HSQLDB
  • Mercurial
  • Subversion
  • Git
  • Perforce
  • CVS
Client side
  • Internet Explorer
  • Firefox
  • Safari
  • Chrome
     

Supported Java platforms, Databases, Application Servers and Browsers, and their relevant version numbers, Supported Platforms page

For version numbers, please see the Supported Platforms page. Please also consider the following information regarding server and client software requirements for Bamboo.

Browser

If you have disabled JavaScript in your browser or are using a script blocking tool like NoScript, you must enable your browser to execute JavaScript to access Bamboo's full functionality.

Java

Bamboo requires a full Java Developers Kit (JDK) platform to be installed on your server's operating system.

Application Server

Bamboo is a web application that requires an application server. Currently Apache Tomcat is supported. Tomcat is a stable, lightweight and fast performing application server, however, please note the following:

  1. Deploying multiple Atlassian applications in a single Tomcat container is not supported. We do not test this configuration and upgrading any of the applications (even for point releases) is likely to break it. There are also a number of known issues with this configuration (see this FAQ for more information).
  2. We also do not support deploying multiple Atlassian applications to a single Tomcat container for a number of practical reasons. Firstly, you must shut down Tomcat to upgrade any application and secondly, if one application crashes, the other applications running in that Tomcat container will be inaccessible.
  3. Finally, we recommend not deploying any other applications to the same Tomcat container that runs Bamboo, especially if these other applications have large memory requirements or require additional libraries in Tomcat's lib subdirectory.

Database

Bamboo requires a relational database to store its data. Bamboo supports most popular relational database servers, so we suggest using the one that you are most comfortable with administering. Bamboo ships pre-configured with an integrated HSQL database for evaluation purposes only. Since HSQLDB is prone to database corruption, we recommend configuring an external database for production environments.

Hence, if you intend to use Bamboo in a production environment, we strongly recommend that you connect Bamboo to an enterprise database (supported by Atlassian).

Servlet requirements

The Bamboo EAR-WAR distribution requires a servlet container that supports the Servlet 2.4 specification.