Bamboo: Complete Configuration Guide
What is Bamboo?
Atlassian Bamboo is a continuous integration and continuous delivery (CI/CD) server that automates the building, testing, and deployment of software. It allows development teams to define complex build pipelines, integrate with other Atlassian tools (Jira, Bitbucket, Confluence), and manage artifacts across multiple environments. Bamboo uses a concept called plans to define a series of stages, jobs, and tasks that are executed in sequence or parallel. It supports a wide range of version control systems, build tools, and deployment targets, making it a versatile choice for teams of any size.
Bamboo can be installed on-premises or used as a cloud service (Bamboo Cloud, though note that Atlassian is deprecating Bamboo Cloud in favor of Bitbucket Pipelines; for on-premises it remains active). This guide focuses on Bamboo Server (self-hosted), which gives you full control over the configuration and infrastructure.
Why Bamboo Matters
In modern software development, manual build and deployment processes are error-prone, time-consuming, and create bottlenecks. Bamboo addresses these challenges by providing:
- Automated Builds: Every code commit triggers a build, ensuring that changes are validated immediately.
- Parallel Execution: Bamboo can run multiple jobs concurrently, dramatically reducing feedback time.
- Integration with Jira and Bitbucket: Link build results to issues, branches, and pull requests for full traceability.
- Environment Management: Define different environments (dev, test, staging, production) and promote builds through them with approval gates.
- Extensibility: Thousands of plugins and the ability to write custom tasks using scripts (Shell, Python, PowerShell, etc.).
- Audit Trail: Every build and deployment is logged, making it easy to investigate failures or compliance requirements.
Without a tool like Bamboo, teams often suffer from “works on my machine” issues, inconsistent build environments, and slow release cycles. Bamboo enforces a reproducible, auditable pipeline that increases both speed and reliability.
Getting Started: Installation and Setup
Before you can configure Bamboo, you need a running instance. Here is a high-level overview of the installation process:
- System Requirements: Bamboo Server runs on Windows, Linux, or macOS. It requires Java 11 or 17, a compatible database (HSQLDB for evaluation, PostgreSQL, MySQL, or Oracle for production), and sufficient memory (at least 4GB RAM recommended).
- Download and Install: Download the installer from Atlassian, run it, and follow the setup wizard. For Linux, you can use the
.tar.gzdistribution. - Database Configuration: During setup, you’ll be prompted to configure a database. For production, use PostgreSQL or MySQL. Example connection string for PostgreSQL:
jdbc:postgresql://localhost:5432/bamboodb?useSSL=false - License Key: Enter your Bamboo license. You can obtain a trial license from Atlassian if you don’t have one.
- Base URL: Set the public URL that agents and repositories will use to communicate with Bamboo (e.g.,
http://bamboo.mycompany.com:8085). - Agent Setup: Bamboo comes with a local agent (the built-in agent). For better performance, add remote agents on separate machines. Agents are configured via the Bamboo administration UI under Agents.
Once Bamboo is running and agents are online, you can start creating plans.
Configuring Your First Plan
A plan is the core unit of work in Bamboo. It contains one or more stages, each with one or more jobs, and each job consists of tasks. Here is how to create a simple plan that builds a Java project using Maven:
- Log into Bamboo as an administrator.
- Click Create > Create plan.
- Choose “From a repository” and connect to your Bitbucket, GitHub, GitLab, or other VCS. Provide the repository URL and credentials.
- Select the branch detection strategy (e.g., “Including branches” with a naming pattern like
feature/*). - Define the plan’s default settings:
- Plan name: e.g., “My Java App Build”
- Plan key: a short identifier like
JAV - Project: assign to an existing project or create a new one
- Bamboo will automatically detect common build tools (Maven, Gradle, Ant, etc.) and suggest a default configuration. Accept or customize.
- You will see a stage (default “Default Stage”) with a job (default “Default Job”). Click the job to add tasks.
- Add a Source Code Checkout task (usually the first task).
- Add a Maven task:
Goal: clean package Working directory: (leave empty for root) JVM arguments: -Xmx512m Maven executable: (default) - Add a JUnit Parser task to collect test results:
Specify custom ant pattern: **/target/surefire-reports/*.xml - Add an Artifact task to save the built JAR:
Name: my-app-jar Copy pattern: target/*.jar Shared: yes (if other stages need it) - Save the plan and run it manually by clicking Run.
Once the plan runs, you can view logs, test results, and artifacts in the Bamboo UI.
Advanced Configuration: Variables, Triggers, and Permissions
Variables
Variables allow you to reuse values across tasks and plans without hard-coding them. There are three levels:
- Plan-level variables: Defined in the plan configuration (under Variables).
- Job-level variables: Override plan variables for a specific job.
- System variables: Built-in variables like
bamboo.planKey,bamboo.buildNumber,bamboo.buildResultKey, etc.
🚀 Need a reliable AI agent for your project?
Deploy Hermes Agent in 10 minutes. Managed hosting, zero DevOps.
Get Started — $23.99/mo