Buildkite vs Bitrise
Buildkite is a general CI platform: each pipeline job runs on a fresh hosted machine that is destroyed when the job ends. Bitrise is CI built for iOS and Android apps, and it also rents remote dev environments, Mac and Linux machines that keep their disk and can run Claude Code.
The companies and products
Buildkite
Buildkite is a CI and software delivery platform, and hosted agents are the build machines it runs for you.
You write Buildkite pipelines, and each job runs on a fresh virtual machine that Buildkite starts for that job and destroys when it ends; only cache volumes carry files to the next job. Hosted agents come in Linux and macOS on Apple M4, with Windows in private preview, and you can also run Buildkite's agent on your own machines. It is a CI service, not an agent sandbox, so this page compares the part where they overlap: a machine where an agent or a job does its work.
- Where it runs
- Hosted agents run only in US East Coast data centers
- Compliance
- Maintains a SOC 2 Type II report
Bitrise
Bitrise is a mobile CI/CD platform that builds, tests and ships iOS and Android apps on its own Mac and Linux machines.
Bitrise is a different kind of product: a CI service. Each build runs in its own virtual machine from a Bitrise stack, and the machine is rolled back after the build. Since 2026 it also sells Remote Dev Environments, macOS and Linux sessions with a persistent disk where you can start Claude Code from a CLI or drive the machine through an MCP server. It is built for mobile teams.
- Funding
- $95M+ in total
Which use cases each one fits
For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “43rd cheapest of 367” means 42 of the other 366 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.
| Use case and its workload | Buildkite: price rank | Bitrise: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A coding agent that builds a whole app needs one machine for hours; a Buildkite job VM is destroyed after the job, Bitrise's dev environments keep a disk but run 1 to 5 machines per tier, and bochka keeps a full VM with its disk saved every minute. | 43rd of 367, with limits $11,648 a month | 38th of 367, with limits $3,403 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on its machine all month hits Buildkite's 8 hour job limit, and Bitrise dev sessions stop after days idle or for maintenance; bochka has no session cap on paid plans. | 351st of 366, with limits $17,564 a month | 73rd of 366, with limits $1,970 a month | 5th cheapest of 366 $657 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month | 315th of 345, with limits $1,587 a month | 289th of 345, with limits $658 a month | 186th of 345, with limits $2,000 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Your users' sandboxes need a URL they can reach, and neither Buildkite nor Bitrise gives a public URL for a port, while bochka serves HTTPS on up to 50 ports and raw TCP. | 326th of 361, with limits $4,984 a month | 269th of 361, with limits $1,604 a month | Cheapest of 361 $209 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 316th of 360, with limits $23,881 a month | 271st of 360, with limits $6,818 a month | 34th of 360, with limits $2,000 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 324th of 364, with limits $3,884 a month | 289th of 364, with limits $1,274 a month | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Both are real CI services: Buildkite for pipelines on any stack, Bitrise for mobile builds with code signing and releases; bochka fits Linux jobs an agent kicks off, with Docker and /dev/kvm. | 203rd of 377, with limits $2,318 a month | 181st of 377, with limits $859 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Bitrise fits a dev box better than Buildkite, because its dev environments keep a persistent disk at a monthly cap ($119 a month here against $715 on Buildkite); bochka's Linux box comes to $26 a month. | 354th of 368, with limits $715 a month | 168th of 368, with limits $119 a month | 18th cheapest of 368 $26 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Bitrise lets an agent take screenshots of and control a macOS desktop through its MCP server, while Buildkite's desktop is for a person debugging a job; bochka streams a 60fps Linux desktop with computer use. | 70th of 369, with limits $3,500 a month | 68th of 369, with limits $1,186 a month | 6th cheapest of 369 $200 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month | 142nd of 367, with limits $1,772 a month | 132nd of 367, with limits $746 a month | 7th cheapest of 367 $200 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 142nd of 346, with limits $2,354 a month | 131st of 346, with limits $862 a month | 6th cheapest of 346 $90 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 317th of 338, with limits $46,814 a month | 256th of 338, with limits $13,088 a month | 71st of 338, with limits $1,800 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 85th of 360, with limits $1,184 a month | 73rd of 360, with limits $537 a month | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month None of the three has GPUs: all of their hosted machines are CPU only. | Can't run it | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month Both rent Apple silicon Macs: Buildkite runs macOS on M4 with Xcode for CI jobs, and Bitrise adds iOS simulators and Mac dev sessions; bochka runs Linux only. | 35th of 36, with limits $2,310 a month | 21st of 36, with limits $400 a month | Can't run it |
Key features
| Feature | Buildkite | Bitrise | bochka |
|---|---|---|---|
| Kind of product | CI and software delivery platform; hosted agents run jobs from Buildkite pipelines | Mobile CI/CD service, plus Remote Dev Environments for developers and agents | Agent sandboxes: Linux VMs you create, run, stop and fork by API, CLI or SDK |
| Isolation | A virtual machine per job, destroyed after the job; Apple Virtualization framework on macOS | Each build or session is its own VM; CI VMs are rolled back to the base image after each build | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X (Zen 5) hosts |
| Operating systems | Linux (ARM64 on Enterprise), macOS on Apple M4 with Xcode, Windows Server 2022 in private preview | macOS on Apple silicon (M2 Pro, M4, M4 Pro) with iOS simulators, and Linux with Android emulators | Linux only; Wine for Windows apps |
| How long a machine runs | Up to 8 hours per job on Linux and 4 on macOS, longer on request | CI builds time out at 210 minutes (4 hours on Enterprise); dev sessions have no time cap but stop after 5 days idle by default, and now and then for maintenance | No session cap on paid plans; you set the time to live |
| Files after a run | The VM is destroyed; cache volumes keep chosen paths after successful jobs, best effort, up to 14 days | CI machines keep nothing; a dev session keeps one persistent disk, which is not backed up | The whole disk is saved every minute and on stop; a stopped sandbox costs nothing |
| Fork | Each job gets its own copy of the last committed cache volume | No fork; warm pools hand out fresh sessions booted from a template | Fork a running sandbox with its disk into an independent copy |
| Docker and nested virtualization | Docker on Linux; macOS has the Docker CLI but no daemon; /dev/kvm not documented | Docker and nested virtualization on Linux, so Android emulators run there; neither on macOS | Docker, root, systemd and /dev/kvm on every machine |
| Desktop and computer use | Browser-based desktop access to debug a running macOS job; no computer-use API | VNC desktop on macOS sessions; an open-source MCP server takes screenshots and controls it | 60fps Linux desktop with Chromium, computer use and browser control, embeddable stream |
| Coding agents | You install Claude Code in your image or step and run it as a pipeline job | Claude Code started from the Bitrise CLI and used in a terminal; other agents through warmup scripts | Claude Code, Codex and more preinstalled, driven from outside with a prompt, steer and events API |
| Keeping API keys out | Anthropic proxy: jobs call it with the job token and Buildkite adds the API key | Secrets are environment variables, so the value enters the machine | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Reaching the machine | No exposed ports; a terminal into a running job through Buildkite's UI or bk job ssh | SSH, VNC and a web terminal; device preview links stream a simulator; no public URL for a port | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6 |
| Build pipeline | Pipelines and test tooling for any stack, mixing hosted and your own self-hosted agents | Mobile workflows with code signing, build cache, release management and over-the-air updates | No pipeline service; you run CI jobs on a sandbox yourself |
| Biggest machine | Linux up to 8 vCPU / 32 GB on Pro and 64 vCPU / 256 GB on Enterprise; macOS up to 12 vCPU / 56 GB | Linux from 2 to 48 vCPUs; Macs on M2 Pro, M4 and M4 Pro | Up to 16 vCPU / 32 GB on the $100 plan and above |
| Regions and self-hosting | Hosted agents run only in US East Coast data centers; you can run Buildkite's agent on your own machines | US, Ireland, Frankfurt, Singapore and Sydney; can run in your own AWS account or on Bitrise Runners you host | EU only (Germany, Finland, France), with EU data residency; managed only |
Every feature Battleships tracks (43)
| Feature | Buildkite | Bitrise | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Not published | Yes | Yes |
| Systemd | No | No | Yes |
| Desktop GUI | Yes | Yes | Yes |
| Browser | Yes | Yes | Yes |
| Computer-use API | No | Yes | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | No | Yes | Yes |
| Automatic snapshots | Yes | No | Yes |
| Fork/clone | Yes | No | Yes |
| Live fork (no pause) | No | No | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | No | No | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | No | No | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | No | No |
| Secret proxy | Yes | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | Yes | Yes |
| Agent harness API | No | Yes | Yes |
| MCP server | Yes | Yes | No |
| GPU | No | No | No |
| Windows | Yes | No | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | Yes | Yes | No |
| BYOC | No | Yes | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | No | No | No |
| EU data residency | No | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
We have no comparable measurement for Buildkite hosted agents or Bitrise: neither was part of the StarSling hpc-sandbox-benchmarks run, so we do not compare their speeds. On that Node.js build-and-test benchmark at 4 vCPU / 8 GB, bochka did 26.69 runs per second on dedicated AMD Ryzen 9 9950X (Zen 5) hosts.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Buildkite and Bitrise have no published run in this suite yet, so there is no like-for-like number to compare.
Pricing in five scenarios
Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.
| Scenario | Buildkite, a month | Bitrise, a month | bochka, a month |
|---|---|---|---|
| One coding agent, workdays 4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days | $166 · Pro · with limits | $260 · Pro · with limits | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $715 · Pro · with limits | $119 · RDE Pro · with limits | $26 · $20/mo |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $7,677 · Pro · with limits | $2,309 · Pro · with limits | $317 · $20/mo × 3 seats |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $2,204 · Pro · with limits | $812 · Pro · with limits | $200 · $100/mo × 2 seats |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $4,787 · Pro · with limits | $1,538 · Pro · with limits | $2,000 · $2000/mo · with limits |
Buildkite: Pro costs $30 per active user a month and includes 4,000 Linux vCPU minutes; after that Linux is $0.004 per vCPU minute and macOS $0.02, metered to the second with no minimums. Enterprise pricing is custom.
Bitrise: Bitrise CI is sold by plan: Starter is a flat fee with unlimited minutes on Medium machines, and Pro adds per-minute machine time and a monthly build allowance on top of its fee. Remote Dev Environments charge a base fee with some included minutes, then per minute up to a monthly cap per OS.
Bitrise: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Neither fits any of our agent scenarios as priced. Buildkite jobs stop after 8 hours and lose everything outside cache volumes, and Pro shares one pool of 256 Linux vCPU, so 1,000 short jobs at once mostly wait. Bitrise Pro runs at most 10 builds at once and stops them at 3.5 hours, so 50 agents in parallel do not fit, and its dev environments run 1 to 5 VMs per tier. On bochka the limit is a sandbox count per plan plus starts per minute, so the 1,000-job burst is queued and needs more starts per day than the $2,000 plan allows.
| Scenario | Buildkite | Bitrise | bochka |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Buildkite when
you want a CI platform for any stack, with macOS on Apple M4, Windows in preview, self-hosted agents or Linux build machines up to 64 vCPU.
- CI for any stack. Useful if you want managed CI beyond mobile: pipelines, test tooling and cache volumes, mixing hosted and self-hosted agents.
- Bigger build machines and Windows. Useful for heavy builds: Enterprise Linux shapes reach 64 vCPU and 256 GB, and Windows Server 2022 is in preview.
- Billed to the second. Useful if your jobs are short: Linux time is metered per vCPU to the second with no minimums.
Use Bitrise when
you build and ship iOS or Android apps, want Mac dev sessions with iOS simulators, or must run in Europe, Asia Pacific or your own AWS account.
- A full mobile pipeline. Useful if you ship iOS or Android apps: Bitrise handles builds, code signing, caching, store releases and over-the-air updates.
- Dev machines that keep their disk. Useful if a person or agent needs a Mac or Linux session that stays put, with iOS simulators an agent can drive.
- More regions and your own AWS. Useful if you need machines in Europe, Asia Pacific or the US, or inside your own AWS account.
Where bochka fits
Buildkite and Bitrise are CI services, and they are good at that. If what you are really running is agents that work for hours on Linux, look at bochka: one full VM that keeps running and keeps its disk, with coding agents you drive from outside and URLs you can reach.
One machine that keeps running and keeps its state
A Buildkite job VM is destroyed after at most 8 hours, keeping only cache volume paths, and a Bitrise CI build rolls back after 210 minutes. Bitrise dev sessions keep a disk, but it is not backed up and a tier runs 1 to 5 of them.
Agents you drive from outside, keys kept out
On Buildkite an agent is a pipeline step you read through logs, and its key proxy covers Anthropic only. On Bitrise you work with Claude Code in a terminal, and secrets are environment variables inside the machine. bochka has a prompt, steer and events API and a proxy for any HTTPS API.
A full Linux computer you can reach
Neither gives a public URL for a port, so an agent's preview server needs a tunnel you build yourself, and Docker stops at Linux. bochka has root, Docker, systemd and /dev/kvm, a 60fps desktop, and HTTPS on up to 50 ports plus raw TCP.
Use bochka when your agents work on Linux for hours or days: one full VM that keeps its disk, Docker and /dev/kvm, a 60fps desktop, URLs you can reach, and coding agents you drive from outside. Compare it one to one: bochka vs Buildkite and bochka vs Bitrise.
Questions people ask
Is Buildkite cheaper than Bitrise?
It depends on the job. In the scenarios we priced, one coding agent on workdays comes to $166 on Buildkite and $260 on Bitrise, but one agent running all month comes to $715 on Buildkite and $119 on Bitrise, using its dev environments. 50 agents in parallel come to $7,677 on Buildkite and $2,309 on Bitrise, and $317 on bochka.
Which is faster, Buildkite or Bitrise?
We cannot say: neither has a result in the public sandbox benchmark we use. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in that benchmark.
Can Buildkite and Bitrise run Docker?
Yes on Linux. Buildkite's macOS agents have the Docker CLI but no daemon, and Bitrise's macOS sessions cannot run Docker or Android emulators because Apple's virtualization has no nested virtualization. bochka runs Docker, systemd and /dev/kvm on every machine.
Which one runs macOS for iOS builds?
Both. Buildkite runs macOS with Xcode on Apple M4, up to 12 vCPU and 56 GB, and Bitrise rents M2 Pro, M4 and M4 Pro Macs with iOS simulators. bochka runs Linux only.
Can I run Claude Code on Buildkite or Bitrise?
On Buildkite you run it as a pipeline step, and the run ends with the job. On Bitrise the CLI starts Claude Code in a remote dev environment and you work with it in a terminal. On bochka it is preinstalled, and you prompt and steer it through an API while it works.
Where do Buildkite and Bitrise run?
Buildkite hosted agents run only in US East Coast data centers. Bitrise runs in the US, Ireland, Frankfurt, Singapore and Sydney, and can run in your own AWS account. bochka runs only in the EU (Germany, Finland and France), with EU data residency.
Try bochka
Install the CLI, then run bochka new.
Product preview