Introduction:
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 a license should be purchased for the number of worker nodes.
Bamboo System Requirements:
- Systems CPU and Memory requirements depend on the number of plans and their complexity.
- The below table shows the minimum CPU and Memory requirements.
- Bamboo can run on both Oracle JDK 1.8 and OpenJDK 1.8. Most popular databases like MySQL, Postgres, and MSSQL can be used with Bamboo.
- When using external database systems with Bamboo, not all versions of those database systems are supported by Bamboo.
- You may need to find a recommended database version by 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 recommends an H2 database for evaluation purposes.
- If you wish to use this Bamboo installation, it’s always a good idea to choose an external database.
Create an RDS database with engine type PostgreSQL (version 14)
- Choose a database creation method: Standard Create
- Select Engine Type (ex: PostgreSQL, Version: 14. x)
- Select the Template (ex: Dev/Test)
- Availability and durability – Single DB instance
- Under the settings section Enter a name for your DB cluster, Username, and Password.
- Under the Connectivity section select the VPC, Subnet group, and Security Group.
- Database Authentication – Password Authentication.
- Under Additional Configuration specify the Initial Database name and keep other things as it is.
- Make sure your Bamboo server sg-group has an open port for your database and vice-versa.
Bamboo Installation:
Have the t2.medium server launched and make sure that we have opened the 8085 port in the security groups and also the firewall.
Note: Both the server and database should be in the same availability zone.
- Install Java 11 on the server:
#sudo amazon-linux-extras install java-openjdk11
- Set the JAVA_HOME env variable:
#export JAVA_HOME="path that you found" #export PATH=$JAVA_HOME/bin:$PATH
- Install Bamboo:
#mkdir /home/ec2-user/bamboo #cd /home/ec2-user/bamboo #sudo wget https://www.atlassian.com/software/bamboo/downloads/binary/atlassian-bamboo-9.2.1.tar.gz #tar -xvf atlassian-bamboo-9.2.1.tar.gz
- Create a home directory for Bamboo.
#mkdir /home/ec-user/bamboo-home
- open
#/home/ec2-user/Bamboo/atlassian-bamboo-9.2.1/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
- Uncomment the bamboo. home line.
Example:
#bamboo.home=/home/ec2-user/bamboo-home
- Start the Bamboo
#cd /home/ec2-user/Bamboo/atlassian-bamboo-9.2.1/bin #./start-bamboo.sh
- Open Bamboo web interface.
http://server-ip:8085
- We need a License key.
- Paste in the license key column.
- Configure the instance.
- Provide the Bamboo instance name & check the Base URL.
- Check Shared system directories.
- Click on Continue.
- Select Database Type. For example: select PostgreSQL database type.
- Click on Continue.
- Configure the database.
- Provide the DB username and password.
- Click on Continue.
- As a first-time installation, Click on Create a New Bamboo Home.
- Click on Continue.
- Provide the Admin credentials such as username, password, full name, and email address.
- Click on Finish.
Conclusion:
The CI/CD server from Atlassian, Bamboo, seamlessly pairs with other Atlassian products. Important factors to take into account are PostgreSQL compatibility and system requirements.
Installation entails setting up Java 11 and Bamboo in addition to RDS. Crucial actions include defining admin credentials, licencing, and database configuration.
Bamboo is a preferred option for contemporary development since it streamlines CI/CD for effective software delivery. Here are the essentials of bamboo for you.