DevOps / CI Landscape
Pick a CI platform you will not resent in a year
CI is the layer teams pick once and then live with for a decade, usually because migrating a thousand lines of pipeline YAML is nobody's favourite quarter. This page gives each serious platform a one-line verdict, prints the free tiers side by side, and names a default - along with the two situations where the default is wrong.
Reviewed August 2026. Back to DevOps guides.
What this choice actually decides
Three things. Where the compute runs, because hosted minutes are convenient and metered while self-hosted agents are free and yours to patch. How much of the pipeline is portable, because every platform's YAML dialect is a lock-in surface and the marketplace actions you lean on are a bigger one. And how close CI sits to the rest of your tooling - issues, code review, the container registry, security scanning - since the integration you do not have to build is the one that never breaks.
Raw speed is rarely the deciding factor. Every platform here runs the same containers on the same commodity hardware; a pipeline that takes eight minutes takes eight minutes everywhere. What differs is how much work it takes to get it down to four, which is mostly a caching-ergonomics question.
One number worth knowing before you read further: about 32 percent of organizations run two CI tools and 9 percent run three or more. Consolidating onto one is usually a bigger win than picking the theoretically best one.
The platforms, with verdicts
GitHub Actions
33% org adoption - the default
It won because it is already there. No second account, no webhook plumbing, and a marketplace deep enough that most integrations are three lines of YAML. Private repos get 2,000 free Linux minutes a month, and on 01-01-2026 GitHub cut hosted-runner rates by up to 39 percent, putting Linux 2-core at $0.006 per minute and ARM at $0.005. The threatened per-minute charge on self-hosted runners in private repos was postponed indefinitely in late 2025 and never took effect. Weak points: the expression language is fiddly, debugging a failing run still means pushing commits, and reusable workflows are a poor substitute for real functions.
Verdict: If your code is on GitHub, use this unless you have a specific reason not to.
GitLab CI/CD
19% org adoption - one vendor for everything
The strongest all-in-one story in the category: repository, CI, container registry, package registry, security scanning, and environments from a single product, self-hostable end to end. The YAML is more coherent than Actions - extends, include, and anchors make large pipelines genuinely maintainable. The catch is the free tier: 400 SaaS compute minutes a month, ten times less than GitHub, with additional minutes at $0.010. Premium is $29 per user per month and includes 10,000 minutes. Self-managed runners are unlimited and free on every tier, which is how most serious GitLab shops run.
Verdict: Best choice if you want one vendor for the whole SDLC, or need to self-host the entire platform.
CircleCI
The specialist that still earns its seat
CircleCI has been shrinking in share for years and is still the best pure CI product for teams with a genuinely painful test suite. Test splitting by historical timing, first-class Docker layer caching, and SSH into a failed build are features the incumbents either lack or bolt on badly. The free tier is 30,000 credits a month, roughly 3,000 minutes on a Linux Medium machine. The cost is a second vendor, a second account model, and orbs as yet another packaging format to learn.
Verdict: Worth the extra vendor only when test-suite parallelism is your actual bottleneck.
Buildkite
Your hardware, their control plane
The model is the product: Buildkite hosts the orchestration, dashboards, and pipeline logic while every agent runs on infrastructure you own, so build minutes are unlimited and unmetered at the platform level. That inverts the economics for anyone running long builds, big caches, GPUs, Apple silicon, or workloads that must stay inside a VPC. Pricing is per seat - free for a single user with up to three concurrent jobs, $30 per user a month on Pro - so your real bill is the compute you were already paying a cloud for. Expect to run agent autoscaling yourself.
Verdict: The right answer when metered minutes have become a line item you argue about.
Dagger
Pipelines as code - still marginal
Built by the people who built Docker, Dagger replaces YAML with a real program in Go, Python, TypeScript, Java, PHP, Rust, or Elixir, runs every step in a container, and produces identical results on your laptop and on any CI platform. The pitch - test the pipeline locally instead of pushing eleven commits named "fix ci" - is genuinely compelling, and it is not a CI platform at all but a portable layer that runs inside one. Adoption remains small, the abstraction is another thing new hires must learn, and simple pipelines get longer rather than shorter.
Verdict: Adopt when pipeline complexity is a real cost, or when you must stay portable across CI vendors.
Jenkins
28% org adoption - specializing into legacy
Jenkins is still deployed almost everywhere and is still, by a distance, the most flexible build server in existence: thousands of plugins, an agent for every operating system anyone has ever shipped, and no vendor between you and the metal. That flexibility is also the bill. Plugin upgrades, security advisories, controller capacity, and Groovy pipeline maintenance are ongoing work that needs a named owner. The honest read for 2026 is that Jenkins is specializing rather than dying - it holds the workloads nobody else will take, and greenfield teams almost never choose it.
Verdict: Keep it where it already works. Do not start a new project on it without a dedicated maintainer.
Free tiers and runner economics side by side
Figures are for private repositories, checked August 2026. The self-hosted column is the one that decides the bill at scale.
| Platform | Free allowance | Paid compute | Self-hosted runners |
|---|---|---|---|
| GitHub Actions | 2,000 Linux minutes a month | $0.006/min Linux, $0.005 ARM, $0.010 Windows, $0.062 macOS | Free and unmetered |
| GitLab CI | 400 compute minutes a month | $0.010/min; Premium $29/user includes 10,000 | Free and unlimited on every tier |
| CircleCI | 30,000 credits a month, about 3,000 Linux Medium minutes | Credit packs, priced by machine class | Supported via self-hosted runners |
| Buildkite | One user, up to 3 concurrent jobs | $30 per user a month on Pro, seats not minutes | The only mode - agents always run on your infra |
| Jenkins | Free and open source, no allowance to track | Your servers, plus the engineer maintaining them | Every agent is self-hosted by definition |
| Dagger | Open source engine, no platform fee | Whatever your host CI charges to run it | Runs anywhere a container runs, including a laptop |
Gotcha: Windows minutes bill at roughly 1.7x Linux and macOS at about 10x on GitHub. A cross-platform matrix that looks harmless in YAML is where most surprise CI invoices come from.
Our pick
GitHub Actions, and it is not close for most teams
If your code lives on GitHub, the integration you get for free outweighs every ergonomic complaint anyone has about the expression syntax. Pull request checks, environments, OIDC to the cloud providers, dependency review, and a marketplace covering almost every vendor you will integrate - all with no second account and no webhook to maintain. The January 2026 price cut removed the last cost argument against it.
Two exceptions, both clear. Choose GitLab CI when you want a single self-hostable vendor for repository, CI, registry, and security scanning - the 400-minute free tier is stingy, but unlimited free self-managed runners make that moot. Choose Buildkite when metered minutes have become a budget conversation, or when builds need hardware a hosted runner will not give you.
Jenkins is a maintenance decision rather than a technology decision: keep what works, start nothing new on it. And treat Dagger as an option inside whichever platform you land on, not as a replacement for one.
Settle the close calls
Actions vs GitLab CI
Marketplace depth against the all-in-one platform, priced out.
Read the verdictBuild the pipeline
Lint, test, preview deploys, production release, and rollback.
Follow the guideActions cheatsheet
Workflow syntax grouped by task, with the gotcha per group.
Open the referenceTesting tools
What the pipeline should actually be running on every commit.
Browse the layerDeploying containers from these pipelines? Container tools covers the build and runtime side, and the Docker cheatsheet has the commands your build steps will be calling.