DevOps / Bamboo: Continuous Integration & Deployment Interview Questions
1. What is Bamboo?
Bamboo is Atlassian's continuous integration and continuous delivery (CI/CD) server. It automates the process of building, testing, and deploying software every time a developer pushes code, so problems surface within minutes instead of at release time. It ties directly into Bitbucket for source ...
2. What is the purpose of Bamboo in a CI/CD pipeline?
Bamboo's job is to remove the manual steps between "code is written" and "code is running in production." It watches a repository, and whenever new commits land it automatically compiles the code, runs the test suite, packages the result, and can push that package on to a target environment. The ...
3. What are the key features of Bamboo?
Beyond basic build automation, a handful of features come up repeatedly in Bamboo interviews because they distinguish it from plain scripts or generic CI tools. Bamboo Specs — define plans as code (Java DSL or YAML) instead of clicking through the UI. Plan branches — automatic, isolat...
4. What is a Bamboo plan?
A plan is the core build configuration in Bamboo — it's the container that says "here's a repository, here's how to build it, and here's what to do with the result." Structurally a plan sits inside a project and is broken down into stages , which contain jobs , which contain tasks : Project...
5. What are stages in a Bamboo plan?
A stage is a logical checkpoint inside a plan — it groups one or more jobs that should be treated as a single phase, such as "Build," "Test," or "Deploy Artifacts." Stages always run sequentially : the next stage doesn't start until every job in the current stage has finished successfully. ...
6. What are jobs in Bamboo?
A job is a collection of tasks that Bamboo schedules and runs on a single build agent as one unit. If a stage contains three jobs, Bamboo will try to run all three at the same time, each on its own agent, as long as agents with matching capabilities are free. Because a job is bound to one agent, ...
7. What are tasks in a Bamboo job?
A task is the smallest executable unit in Bamboo — a single step such as checking out source, running a Maven build, executing a shell script, or parsing test results. Tasks inside a job always run in order, one after another, on the same agent. Common built-in task types include: Task Type...
8. What is a Bamboo build agent?
A build agent is the worker process that actually executes a job's tasks — checking out code, compiling, running tests. The Bamboo server itself never runs build work directly; it only schedules jobs onto agents and stores the results. Each agent advertises a set of capabilities (installed ...
9. What are the types of Bamboo agents?
Bamboo distinguishes agents mainly by where they run and how they scale. Local Agent Remote Agent Runs as part of the Bamboo server process itself. Runs on a separate machine, installed independently and connected to the server. Competes with the server for CPU/memory. Isolated hardware, doesn't ...
10. What is a Bamboo project?
A project is purely an organizational folder that groups related plans together — it has no build logic of its own. Teams typically create one project per product, per service, or per team, and then put every plan for that product inside it. Grouping matters mainly for permissions and navig...
11. Define a Bamboo deployment project?
A deployment project is a separate pipeline, distinct from a build plan, whose job is to take an already-built artifact and push it to one or more target environments such as Dev, Staging, or Production. It's linked to a build plan as its artifact source, but it keeps its own history, its own per...
12. What is a Bamboo environment?
An environment is a named target inside a deployment project — typically something like Dev, QA, Staging, or Production. Each environment has its own sequence of deployment tasks (copy artifact, run install script, restart service) and its own permission list controlling who can trigger a r...
13. Describe Bamboo's plan branches feature?
Plan branches let Bamboo automatically create a lightweight copy of a plan's build configuration for every branch in the linked repository, so a feature branch gets its own isolated CI runs without anyone hand-configuring a new plan. Key behavior interviewers look for: Branches can be detected au...
14. What are triggers in Bamboo?
A trigger is the mechanism that decides when a plan should start running. Bamboo supports several trigger types, and picking the right one is a common interview point. Trigger Type Behavior Repository push (webhook) Starts the build as soon as a commit is pushed — near-instant feedback. Pol...
15. List the version control systems Bamboo supports?
Bamboo connects directly to the major version control systems used in enterprise environments, most commonly through Bitbucket Server/Data Center but also via direct repository connections: Git (including Bitbucket, GitHub, and generic Git remotes) — the most common choice today. Mercurial ...
16. What is the purpose of Bamboo Specs?
Bamboo Specs let you define a plan's entire configuration — stages, jobs, tasks, triggers, permissions — as code, written in a Java DSL or YAML, and stored alongside the application in the same repository instead of being clicked together in the Bamboo UI. The purpose is to bring the ...
17. What are artifacts in a Bamboo build?
An artifact is any file (or set of files) that a job produces and marks for reuse — a compiled JAR, a Docker image tag file, a test report, or an installer package. Once defined, Bamboo stores that file so it can be downloaded, inspected, or passed forward to later stages or to a deployment...
18. How do you create a new plan in Bamboo?
Creating a plan is a short, fixed sequence in the Bamboo UI: Select an existing project, or create a new one to hold the plan. Click "Create plan," give it a name and a plan key. Link a repository (Bitbucket, Git, or another supported VCS). Add stages, then jobs within each stage, then tasks with...
19. Why do teams use Bamboo Specs instead of the UI?
The short answer: Specs turn build configuration into a reviewable artifact instead of a set of clicks only one person remembers. A few concrete reasons teams switch: Version control — the plan definition lives in the same repo as the code, so a change to the pipeline goes through the same ...
20. How does Bamboo differ from Jenkins?
Both are CI/CD servers that run pipelines against agents, but they diverge in licensing model, ecosystem, and how tightly they integrate with a broader toolchain. Bamboo Jenkins Commercial, licensed by remote agent count (Data Center only since 2024). Free and open source. Deep native integration...
21. What is the difference between Bamboo and Bitbucket Pipelines?
Both come from Atlassian and both can build code pushed to Bitbucket, but they're built on very different operating models. Bamboo Bitbucket Pipelines Self-hosted (Data Center); you install, patch, and scale the server and agents. Fully managed by Atlassian in Bitbucket Cloud, no server to mainta...
22. How does Bamboo integrate with Jira?
Once an application link connects a Bamboo instance to a Jira instance, build and deployment activity becomes visible directly inside Jira issues, without anyone manually cross-referencing systems. Commits that reference a Jira issue key (e.g. PROJ-123 ) automatically show up on that issue's deve...
23. Why should you use remote agents over local agents?
A local agent runs inside the Bamboo server process itself, which means every build it executes competes with the server for CPU, memory, and disk I/O — and a runaway build can degrade the whole Bamboo UI for every user. Remote agents avoid that entirely by running on separate hardware, giv...
24. How does Bamboo handle parallel job execution?
Within a single stage, every job is eligible to run at the same time, as long as there's an agent available whose capabilities satisfy that job's requirements. Bamboo's scheduler simply dispatches each pending job to the first free, matching agent — it doesn't force sequential execution unl...
25. When should you use plan branches instead of separate plans?
The deciding factor is how much the build configuration differs. If a feature branch should be built, tested, and packaged using essentially the same steps as the main branch — same tasks, same agents, maybe a different deploy target — plan branches are the right fit, because Bamboo r...
26. What happens when a task fails inside a Bamboo stage?
The failure cascades in a predictable order. First, the job containing the failed task stops — any remaining tasks in that job are skipped unless individually flagged to "always execute" (typically used for cleanup or notification steps). Second, the whole job is marked failed, which in tur...
27. Explain the execution flow of a Bamboo build plan?
A single run of a plan follows a fixed path from trigger to result, moving stage by stage and, within each stage, job by job in parallel. flowchart TD A[Trigger: push, schedule, or manual] --> B[Stage 1: Build] B --> C[Job: Checkout code] C --> D[Job: Compile / package] D --> E{Stage 1 passed?} E...
28. How can you optimize slow Bamboo build times?
Slow builds usually come from one of a few repeatable causes, and the fixes map directly to them: Not enough parallelism — split a monolithic job into multiple jobs (e.g. separate unit tests from integration tests) so they run concurrently across agents instead of one long sequential job. D...
29. How do you troubleshoot an offline Bamboo agent?
An agent showing offline in the Bamboo admin console is a connectivity or process problem, and the checks go roughly in this order: Confirm the agent process/service is actually running on the host; restart it if it has crashed. Check network connectivity from the agent to the Bamboo server's con...
30. Why is capability matching important for Bamboo agents?
Capabilities are how Bamboo prevents a job from landing on an agent that simply can't run it. Each agent advertises what it has installed — a JDK version, an executable path, a custom environment variable — and each job declares requirements describing what it needs. The scheduler onl...
31. Explain the lifecycle of a Bamboo deployment?
A deployment starts only after a build plan has already produced a usable artifact; the deployment project then takes over from there. flowchart TD A[Build plan produces artifact] --> B[Release created in deployment project] B --> C[Select target environment, e.g. Staging] C --> D{Environment per...
32. How does Bamboo share artifacts between stages?
A job defines an artifact by pointing to files it produces (e.g. target/*.jar ), and marking that definition as shared makes it available to every later stage in the plan automatically. Bamboo copies the file(s) to its artifact storage after the producing job finishes, and any job in a subsequent...
33. What is the difference between shared and job artifacts?
Both start the same way — a job declares which files it produces — but the scope of where those files travel differs. Job (unshared) Artifact Shared Artifact Available only within that job, or downloadable from the build results page. Automatically copied and made available to jobs in...
34. How do you configure Bamboo to build Docker images?
Docker builds in Bamboo generally follow one of two patterns. The simpler one is a Script task on a remote agent that has Docker installed, running the standard build and push commands directly: docker build -t registry.example.com/payments-api: ${ bamboo .buildNumber } . docker push registry.exa...
35. How does Bamboo's permission model control access?
Permissions are layered, from broad to narrow, and each layer can be assigned to individual users or groups: Project level — who can view or administer everything under a project. Plan level — who can view build results, edit plan configuration, or trigger builds for a specific plan. ...
36. Which is better: Bamboo Specs or UI-based configuration?
Neither wins outright — the right choice depends on team size and how long the plan will live. Specs wins for anything long-lived or shared across a team: it's reviewable in a pull request, diffable, and reusable across similar plans, which matters once you have more than a handful of pipel...
37. How do you trigger Bamboo builds from Bitbucket webhooks?
Rather than having Bamboo repeatedly poll the repository for changes, Bitbucket can push a webhook notification to Bamboo the moment a commit lands, and Bamboo starts the build immediately. In the plan's trigger configuration, add a "Repository triggered" (webhook-based) trigger and select the li...
38. Explain the internal working of Bamboo agent-server communication?
Agents don't wait for the server to push work to them blindly — the relationship is closer to agents checking in and the server assigning work from a queue. sequenceDiagram participant S as Bamboo Server participant A as Remote Agent A->>S: Register / heartbeat (capabilities, status) S->>S:...
39. How do you set up build notifications in Bamboo?
Notifications are configured per plan (and can also be set as personal watches by individual users) under the plan's Notifications settings, where you pick an event and a delivery method. Events commonly configured: build failed, build first successful after a failure, build still failing (repeat...
40. What is the difference between a plan and a deployment project?
They sit at different points in the pipeline and serve different purposes. Build Plan Deployment Project Compiles, tests, and packages code from a repository. Takes an artifact already produced by a plan and releases it to environments. Triggered by commits, schedules, or dependent plans. Trigger...
41. How does Bamboo manage its build queue?
When a job is ready to run but no matching agent is free, it sits in the build queue rather than failing outright. Bamboo works through the queue roughly in order, dispatching each queued job to the first available agent whose capabilities satisfy that job's requirements. A few factors affect how...
42. When would you choose Elastic Bamboo on AWS?
Elastic Bamboo provisions remote agents as EC2 instances on demand — spinning them up when the build queue grows and terminating them once idle — so it fits situations where load is bursty rather than constant. It makes sense when: Build volume spikes at predictable times (end of spri...
43. How do you secure sensitive variables in Bamboo?
Sensitive values like API keys or database passwords need to stay out of plain build logs and out of the plan configuration text itself. Bamboo's approach: Define the value as a plan or global variable and set its type to Password , which masks it in logs and the UI as soon as it's referenced. Re...
44. Why should requirements and capabilities be used together?
Capabilities describe what an agent has ; requirements describe what a job needs . Neither is useful alone — capabilities with nothing checking them would just be unused metadata, and requirements with no capability data to match against would have nothing to validate against. Used together...
45. How do you configure a multi-module Maven build in Bamboo?
For a reactor-style multi-module Maven project, the simplest approach is a single Maven task pointed at the root POM, letting Maven's own reactor handle module ordering: mvn clean install -pl module-a,module-b -am For faster feedback on larger projects, teams often split modules into separate job...
46. Explain the execution flow of a Bamboo Specs YAML file?
A Specs YAML file goes through a detect-validate-apply cycle rather than being executed directly like a script. flowchart TD A[bamboo-specs.yml committed to repository] --> B[Bamboo scans linked repository for Specs] B --> C[Parse and validate YAML structure] C --> D{Valid?} D -- No --> E[Publica...
47. How does Bamboo report and store test results?
Test reporting relies on a parser task — most commonly JUnit Parser , but NUnit, TestNG, and other formats are supported too — added after the actual test-running task in a job. The parser reads the XML output the test framework already produces and turns it into structured Bamboo dat...
48. Why doesn't Bamboo rerun successful stages after a failure?
Stages are designed as sequential checkpoints where each one is assumed to build on the verified state left by the previous one — artifacts, environment setup, whatever the prior stage produced. Re-running an already-successful stage would mean redoing work whose output hasn't changed and r...
49. How do you migrate a Jenkins pipeline to Bamboo?
A migration is mostly a mapping exercise between two similar concepts expressed differently, plus a re-plumbing of credentials and triggers. Map structure — Jenkinsfile stage blocks map to Bamboo stages; parallel Jenkins branches map to parallel jobs within a stage; individual sh / bat step...
50. How is Bamboo Data Center different from Bamboo Server?
These are two historical deployment editions, and the distinction matters mainly because only one of them still exists as a real option today. Bamboo Server Bamboo Data Center Single-node install, simpler and cheaper, aimed at small teams. Clustered, highly-available deployment aimed at larger or...