Request an exact quote
CI/CD & DevOps migration path

From Atlassian Bamboo to Drone CI

Leaving Bamboo (Server/Data Center EOL) for Drone CI, converting build plans to container-native pipelines, migrating repos and agents, and cutting over by project.

Effort
Medium
Est. timeline
~15 wks
Drone CI model
Free OSS
Open source
Yes
▶ Model your savings in the interactive calculator

Atlassian’s wind-down of Server and Data Center for Bamboo turns this from a cost optimization into a forced migration, you’re moving whether you like it or not, which makes it a good moment to leave per-agent licensing behind entirely. Drone CI is a container-native, open-source CI system where every pipeline step runs in a container, defined in a simple YAML file. This guide covers the conversion.

Why Drone, and the alternative worth a look

Drone’s model is clean: pipelines are declared in .drone.yml, each step is a container image, and it scales by running workloads as containers (great if you’re already on Docker/Kubernetes). It removes Bamboo’s per-agent licensing. The trade-off: Drone is leaner than Bamboo’s plan/stage/branch UI, and you own hosting. If you want something closer to Bamboo’s richer UI or a Git-platform-integrated CI, also consider Woodpecker (a Drone fork) or Gitea Actions, the conversion effort is similar.

What changes conceptually

Bamboo is plan/stage/job/task oriented with a server-managed agent pool. Drone is pipeline/step oriented with everything in containers:

  • Bamboo plan → .drone.yml pipeline in the repo.
  • Stages/jobs → pipeline steps (each an image: + commands:), with depends_on for ordering.
  • Tasks (script, build, deploy) → step commands or plugin images.
  • Remote agents → Drone runners (docker/kubernetes/exec runners) registered to the server.
  • Bamboo variables → Drone secrets and environment, stored in Drone’s secret store.
  • Triggers/branch plans → Drone trigger conditions (when: branch/event).

Pipelines are now versioned in the repo, which is a real improvement over server-stored plans.

Translating a plan step by step

Export each Bamboo plan’s configuration before you start, so you have an authoritative reference for stages, tasks, triggers, and variables. Then work through it in order:

  • Stages become ordering, not containers. Bamboo stages that ran sequentially become steps with depends_on chains. Parallel jobs within a stage become steps without a dependency between them, which Drone can run concurrently.
  • Tasks become commands or plugin images. A script task is a step with commands:. A specialized task (artifact download, deploy, notification) usually becomes a plugin image published for that purpose, or an official vendor container running the same tool.
  • Requirements become runner labels. Bamboo’s agent capability requirements map to runner selection, so a step that needed a particular toolchain now names an image that contains it.
  • Branch plans become trigger conditions. Bamboo’s automatic branch plans collapse into when: blocks keyed on branch and event, kept in the one versioned file.

Migrating repos, agents, and artifacts

Drone connects to a Git host rather than storing code itself, so ensure repos are on a host Drone supports (GitHub, GitLab, Gitea, Bitbucket) before wiring pipelines. If you are also leaving Bitbucket Server as part of the Atlassian wind-down, sequence that repo move first so Drone points at a stable home.

Agents do not migrate; you stand up Drone runners on the compute you already have and register them to the server. Artifacts need a deliberate home too: Drone has no built-in artifact vault, so publish build outputs to an object store or registry with a plugin step, and update anything downstream that used to fetch them from Bamboo. Webhooks are re-pointed per repository as each project cuts over.

The migration flow

  1. Inventory Bamboo plans, stages/tasks, agents, variables/secrets, artifacts, and integrations (SCM, registries, deploy targets).
  2. Ensure repos are on a Git host Drone connects to (GitHub/GitLab/Gitea/Bitbucket), if you’re also leaving Bitbucket Server, sequence that first.
  3. Stand up Drone (server + runners; Docker or Kubernetes runners depending on your infra).
  4. Convert plans to .drone.yml, translate each stage/task to containerized steps, re-create secrets in Drone, and wire artifacts/registries. Start with one representative project.
  5. Dry-run the converted pipeline (build → test → deploy) and compare against the Bamboo result.
  6. Cut over project by project, keeping Bamboo running until each project’s Drone pipeline is green. Re-point webhooks.

Containerization is the real shift

The biggest mental change: every step runs in a container image, so build tools and dependencies are declared as images rather than installed on a persistent agent. This is cleaner and more reproducible, but plans that assumed a stateful agent (pre-installed SDKs, local caches) need rethinking, use step images with the tools baked in, and Drone’s caching/volumes for state.

Validation

Acceptance bar: “a representative project builds, tests, and deploys end-to-end on Drone,” with secrets and artifacts resolving and a deploy + rollback verified. Don’t migrate the whole org until the pilot pipeline is solid, and mind the Bamboo EOL date, which sets your real deadline.

Turning the deadline to your advantage

Bamboo → Drone turns a forced end-of-life into a clean exit from per-agent licensing, moving to versioned, container-native pipelines. The work is converting plans to .drone.yml and adopting the containerized step model; Woodpecker or Gitea Actions are valid alternatives with similar effort. Pilot one project, then cut over project by project before the EOL date. Model your per-seat/agent savings in the calculator above, and treat them as provisional until you scope the pipeline-conversion effort.

Tooling & automation for this path

Export build plans; rewrite as Drone pipelines (.drone.yml); migrate repos to a Git host; re-point webhooks; validate before cutover.

Primary references: official Drone CI documentation ↗ and the Atlassian Bamboo documentation ↗ , always verify version-specific behavior against them before you migrate.

Frequently asked questions

Is there an automated tool to convert Bamboo build plans into .drone.yml files?

No reliable one-to-one converter exists, because Bamboo's plan/stage/job/task model does not map mechanically onto Drone's pipeline/step model. The practical approach is to export each plan's configuration for reference, then hand-write the equivalent .drone.yml with each task rewritten as a containerized step. Doing one representative plan first gives you a template the rest of the team can follow.

Bamboo managed its own agents. How do build agents work in Drone?

Drone replaces server-managed remote agents with runners that you register against the Drone server, typically Docker or Kubernetes runners depending on your infrastructure. Each pipeline step then runs as a container that the runner schedules, rather than executing on a persistent agent with pre-installed tools. Size the runner pool for your concurrency and bake build tools into step images instead of onto the host.

Where do Bamboo variables and shared credentials go in Drone?

Bamboo plan and global variables, along with any credentials they carried, move into Drone's secret store and are injected into steps as environment or named secrets. Re-enter them rather than trying to migrate them, and keep them out of the committed .drone.yml. Scope them so that only the pipelines that need a given secret can read it.

How do I keep Bamboo running while I validate Drone before the EOL deadline?

Point Drone at the same repositories and run converted pipelines in parallel, comparing each build against the Bamboo result before switching webhooks over. Cut projects across one at a time and keep Bamboo authoritative until each project's Drone pipeline is green. Because the Server/Data Center end-of-life sets a hard deadline, start the pilot early enough to absorb surprises.

Model your 3-year cost

Pre-filled for Atlassian Bamboo → Drone CI; adjust every figure with your own numbers. Estimates are illustrative, not vendor quotes, see our methodology.

Sized at 200 users, cost is computed on this.
Stay on Atlassian Bamboo (3yr)
$108,000
Move to Drone CI (3yr + migration)
$62,400
Projected savings
$45,600 (42%)
Payback period
20.5 mo
Build a decision report from these numbers:

Illustrative, editable figures, not vendor pricing (defaults reviewed May 2026).

Request a vendor-accurate Drone CI quote

A guided builder that turns your estimates into a requirements report (RFQ) you can send to a vendor, partner, or distributor for a binding quote, then feed the real prices back into the calculator above. How our estimates work.

  1. 1Size it
  2. 2Requirements
  3. 3Your details
  4. 4Channels & export

How big is your Atlassian Bamboo estate?

Count the people who need accounts or seats. Not sure? Enter rough numbers, the distributor confirms exact counts later.

200 users
Default mid-size assumption (200 users)