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:
- Will your builds have functional tests as part of the plans?
- Are your plans executed simultaneously? If so, how many plans will be running at any given time?
- What are the requirements for your running builds, e.g. do they need large amounts of memory/disk/swap space?
- 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.
- 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:
Browsers | Java Platform | Operating Systems | Application Servers | Databases | Source Repositories | |
---|---|---|---|---|---|---|
Server side |
|
|
|
|
| |
Client side |
|
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:
- 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).
- 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.
- 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.