Step by step guide to install Atlassian Bamboo

Chathura Siriwardhana
6 min readApr 3, 2020
Bamboo Logo

What is Bamboo?

Bamboo is a Continuous Integration / Continuous Deployment or Continuous Delivery server developed by Atlassian in 2007. Bamboo comes with a rich set of built-in features. Other Atlassian products such as Bitbucket, JIRA, and Confluence can be integrated with Bamboo without any pain. Not like Jenkins, Bamboo is a proprietary product and license should be purchase to the number of worker nodes. You can learn how to install Bamboo on the Linux machine. Also, you can read about How to install Jenkins on CentOS. If you prefer to read more about the differences between Jenkins and Bamboo, you can read from here.

Bamboo System Requirements

Systems CPU and Memory requirements depend on the number of plans and on their complexity. The below table shows the minimum CPU and Memory requirements. These are based on Bamboo documentation and read more on this topic here.

Bamboo Systems Requirements — Source: https://confluence.atlassian.com/bamboo/bamboo-best-practice-system-requirements-388401
Bamboo CPU/Memory Requirements

Bamboo can run on both Oracle JDK 1.8 and OpenJDK 1.8. Most popular databases like MySQL, Postgress, and MSSQL can be used with Bamboo. When using external database systems with Bamboo, not all versions of those database systems are supported by the Bamboo. You may need to find a recommended database version by the Atlassian for Bamboo. Find the version of your choice of database supported by Bamboo from here. You need to separately download the JDBC driver and put it inside the Bamboo pack. Bamboo ships with a built-in H2 database, Atlassian only recommend H2 database for evaluation purposes only. If your wish to use this Bamboo installation, it’s always a good idea to choose an external database.

In this tutorial, I am using MySQL as the external database system. And I chose Oracle Java 1.8. You can use OpenJDK 1.8 as well.

Install Oracle JDK 1.8

Download the Oracle JKD compress version from here. And uncompress to you chose of preferred location. Now its time to set the $JAVA_HOME and $PATH variables. Add the below lines to ~/.bashrc file.

# vim ~/.bashrc
export JAVA_HOME=<JAVA_UNCOMPRESSED_PATH>
export PATH=$PATH:<JAVA_UNCOMPRESSED_PATH>/bin

Also, you can use OpenJDK as well.

# sudo yum install -y java-1.8.0-openjdk

To find the Java installed path to use this command,

# alternatives --list

Install MySQL

As the external database, I chose MySQL. Atlassian only recommends MySQL version 5.7 and 5.6.3. Also, other MySQL flavors like MariaDB do not recommend Atlassian. CentOS 7 does not come with MySQL repo. CentOS ships MariaDB repo as it’s a default database system. Hence, we first need to add MySQL repo. Create a 'mysql-community.repo' and add the repo details,

# vim /etc/yum.repos.d/mysql-community.repo[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

Install MySQL 5.7 community version,

# sudo yum install mysql-community-server

After installing MySQL, we need to configure MySQL to use ‘InnoDB’ as its default storage engine and few recommended configurations by Atlassian. To configure MySQL server add below configuration to /etc/my.cnf file

# vim /etc/my.cnf[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
collation-server=utf8_bin
character-set-server=utf8
default-storage-engine=innodb
lower_case_table_names=1
innodb_log_file_size=1G
max_allowed_packet=20M
[client]
default-character-set=utf8

Now, start the MySQL server. At the startup, MySQL will generate a temporary root password.

# systemctl start mysqld

Find the temporary root password,

# sudo cat /var/log/mysqld.log | grep -i "temporary password"

Login to the MySQL database and create a user and a database to use while installing Bamboo.

# mysql -u root -pmysql> CREATE DATABASE bamboo CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL PRIVILEGES ON bamboo.* TO 'bamboouser'@'localhost' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> QUIT

This creates an empty MySQL database for Bamboo named bamboo, where:

  • bamboouser — the user account name for the Bamboo MySQL database
  • localhost — the hostname of the MySQL database server
  • password — the password for this user account

Download the MySQL Connector/J 5.1. We need to use the connector later to connect Bamboo to MySQL. You can download the connector from here.

Install Bamboo

After all, now its time to install Bamboo. First, download the Bamboo from Atlassian. At the time of writing this article, the latest version of Bamboo is 7.02. You can download Bamboo from the official Atlassian page https://www.atlassian.com/software/bamboo/download.

# wget https://product-downloads.atlassian.com/software/bamboo/downloads/atlassian-bamboo-7.0.2.tar.gz

Create the installation directory and extract the downloaded file. Create a directory to use as Bamboo home. We can create a directory in any location. Bamboo home’s default location is /var/bamboo/bamboo-home. Set necessary read/write permission to this directory.

# mkdir -p /var/bamboo/bamboo-home

Set the Bamboo home directory in the configuration file. To change open the bamboo-init.properties file and uncomment the bamboo.home line. If you chose a directory other than the /var/bamboo/bamboo-home, you also need to edit the correct path.

Start the Bamboo server,

# cd cd <Bamboo installation directory>/bin
# ./start-bamboo.sh

After successfully starting Bamboo, you will find it online at http://<IP_address>:8085.

Now, we can configure bamboo with the setup wizard. To install Bamboo, you need to have an evaluation license from Atlassian. In order to get an evaluation license, create an account. Navigate to https://my.atlassian.com/products/index and create an account.

Configure Bamboo

We can now start to follow the Setup Wizard to configure Bamboo. From your favorite browser navigate to http://<IP_address>:8085

Bamboo Setup wizard. Add License details

On the browser window, you can find a randomly generated Server id. Take a copy of the “Server id” displayed. On the “My Atlassian” account, click on “New Trial License”. From the dropdown menu select “Bamboo

In the organization field, add a name. Next, select “not installed yet” and pasted the “Server id” you copied previously. By clicking on “Generate License” you can get an evaluation license for your installation. Past the license details in the setup wizard. Continue with “Custom installation”.

Keep the default values and continue to the next configuration page. Select the database type as “external” and from the dropdown menu select “MySQL” and continue to page.

Fill the database connection details and continue.

Setup wizard — Create new bamboo home

As this is a fresh bamboo installation, select “Create a new Bamboo home” and continue in the wizard. Finally, its time to create the administrative user. Fill user details, credentials and finish the wizard.

It’s time to build some codes with Bamboo…

--

--