A Bitbucket runner moves pipeline steps off Atlassian's infrastructure and onto machines you control. You get more memory and cores, and steps on your runners do not draw from your workspace's build minutes. You also get a host to patch and, for scale, a Kubernetes cluster to run. cirunner.dev plans to take that part off your hands. Bitbucket Pipelines is on our roadmap and does not work with cirunner.dev today. GitHub Actions and GitLab CI are live in early access; vote for Bitbucket on the early-access form if you want it next.
Where Bitbucket's cloud steps stop fitting
A default step on Atlassian's cloud runs with 4 GB of memory. The size option raises that: 2x on any plan, and larger sizes on paid Standard and Premium plans. Each size multiplies the build minutes the step consumes, so a 4x step bills four minutes for each minute it runs. Each step also has a time limit.
Compile-heavy repositories feel this first. A C++ or Android build that needs a large step size for the linker or the Gradle daemon spends build minutes at a multiple, and the cache restores from the network on each run. A two-minute lint step does not care; leave those on Atlassian's runners.
What a Bitbucket Pipelines self-hosted runner involves
- Create a workspace or repository runner in Bitbucket settings, choose Linux Docker (x86 or arm64), Linux shell, Windows or macOS, and add custom labels.
- Run the generated command on your host. For Linux Docker it is a
docker container runwith your account UUID, runner UUID and an OAuth client ID and secret, plus the host Docker socket mounted. - Size the host for the largest step size you allow, and recycle hosts so leftover images and volumes do not pile up.
- For scale, deploy Atlassian's Runners Autoscaler for Kubernetes and keep node autoscaling, Docker-in-Docker and the cluster running yourself. Bitbucket documents no one-step-per-runner flag, so a fresh VM per step needs your own orchestration.
Bitbucket has also added a Premium Runners tier with runner groups and queue management, billed per concurrent build slot. Our Bitbucket Pipelines self-hosted runners guide covers the install, labels, step sizes, the autoscaler and costs.
How a custom Bitbucket runner from cirunner.dev will work
Once we support Bitbucket, you will create runners in your workspace settings with a label such as cirunner and give cirunner.dev the OAuth client ID and secret from each generated command. Bitbucket shows those credentials once. A Bitbucket runner runs one step at a time, so you create one runner for every step you want to run in parallel. Steps opt in with runs-on: [self.hosted, linux, cirunner]; steps without runs-on stay on Atlassian's infrastructure, so one pipeline can mix both. We start a fresh VM for each step, with more cores and memory than the cloud step sizes, x86 or ARM, and a GPU if you need one, and destroy it when the step ends. A build cache persists between steps. You pay us per compute minute.
Atlassian cloud steps vs. your own runners vs. cirunner.dev
| Atlassian cloud steps | Your own Bitbucket runners | cirunner.dev (planned) | |
|---|---|---|---|
| Billing | Build minutes, multiplied by step size | No build minutes; hardware, your hours and optional Premium Runners slots | No build minutes; our per-minute price |
| Machine | Fixed step sizes, larger ones on paid plans | Whatever you provision | Bigger machines, x86 or ARM, optional GPU |
| Isolation | Fresh environment per step | Fresh container per step on a long-lived host | Fresh VM per step, destroyed afterwards |
| Scaling | Atlassian handles it | Runners Autoscaler on your Kubernetes cluster | We scale with your queue |
| Upkeep | None | Hosts, cluster, runner image upgrades | None on your side |
Who it is for
A good fit if:
- Your steps compile C, C++, Rust, Android/Gradle, a game engine or CUDA code and you pay for large step sizes.
- You want a fresh VM per step without running Kubernetes for the autoscaler.
Not a fit if:
- Your pipeline runs in a few minutes at the default step size.
- You need a self-hosted Bitbucket runner this month. The guide gets you there on your own hardware.
FAQ
Do Bitbucket self-hosted runners use build minutes?
No. Steps on your own runners do not draw from the workspace's build minutes. Premium Runners carry a separate per-slot fee if you turn them on.
Is there a managed Bitbucket runner service?
Not from cirunner.dev yet. Bitbucket Pipelines is on our roadmap. Vote for it on the early-access form and we will let you know when it ships. If part of your team uses GitLab CI, managed GitLab runners are live in early access.
Can one Bitbucket pipeline use both cloud and self-hosted runners?
Yes. Add runs-on to the steps that need your hardware and leave it off the rest.
Can a Bitbucket runner run one step and exit?
Bitbucket documents no such flag. The Linux Docker runner gives each step a fresh build container on the same host. For a fresh VM per step, you need your own orchestration, or a managed runner that does it for you.
Want managed Bitbucket runners?
Bitbucket Pipelines is on the roadmap. Vote for it on the early-access form and tell us what your steps build.
Vote for Bitbucket Pipelines runners