Measure minutes by real workloads
A small app can burn quota quickly with matrix builds, Docker image layers, browser tests, dependency installs, and repeated pull-request updates.
CI/CD free tiers are not just build minutes. The real decision includes runner type, cache and artifact storage, secret handling, deployment gates, queue time, and how closely the pipeline should live beside your code host.
| PROVIDER | FREE TIER | USAGE LIMIT | FEATURE SET | WORKSPACE LIMIT | KEY CONSTRAINTS | ACTION |
|---|---|---|---|---|---|---|
GitHub ActionsREPO-NATIVE CI/CD | GitHub Free / public repos free | 2,000 minutes / month, 500 MB artifact storage, 10 GB cache storage on GitHub Free; public repos and self-hosted runners are free | Workflow YAML, matrix builds, caches, artifacts, Dependabot integration, and large marketplace action ecosystem | Public repositories, Dependabot, and self-hosted runners get free usage; private repos use account quota | Large runners are always charged, and private-repo hosted runner usage stops once the included quota is exhausted without a payment method | Go to Site ↗ |
GitLab CI/CDDEVSECOPS SUITE | $0 per user/month | 5 licensed users, 400 compute minutes / month, 10 GiB storage | Built-in SCM, pipelines, merge requests, runners, security scanning, and full DevSecOps workflow support | Ideal for small teams or OSS projects that want code hosting and CI in one place | The free plan is capped at 5 licensed users and 400 compute minutes, with extra minutes and storage sold as add-ons | Go to Site ↗ |
Azure PipelinesMICROSOFT DEVOPS | Free open-source option | Open source: 10 free parallel jobs with unlimited minutes; Microsoft-hosted private usage includes 1,800 minutes / month | YAML pipelines, multistage releases, container builds, multi-platform jobs, and deep Azure integration | Supports open-source projects, GitHub-connected workflows, and teams that need hosted or self-hosted agents | Private projects can move from free to paid as soon as hosted parallel-job capacity or hosted minutes are exceeded | Go to Site ↗ |
Alibaba Cloud YunxiaoALIBABA DEVOPS | Free for personal mode; free R&D quotas included | 20 GiB Git storage, 20 GiB Git LFS, 10 GiB artifact storage, and 3000 core-minutes / month | Codeup, Flow pipelines, Packages, Projex collaboration, and Insight/Appstack efficiency tools | Personal mode supports up to 5 accounts; enterprise collaboration mode scales higher | Region edition is billed by usage; exceeding free R&D quotas or using enterprise collaboration mode introduces paid billing | Go to Site ↗ |
Bitbucket PipelinesATLASSIAN CODE + CI | Free forever for up to 5 users | 50 build minutes / month, 1 GB workspace storage, 1 GB Git LFS | Repository-hosted CI/CD, deployment environments, pull requests, and Jira-friendly team workflows | Best for small Atlassian-centric teams that want source control and deployment in one workspace | The free plan keeps the team at 5 users and 50 build minutes, with add-on minutes billed separately | Go to Site ↗ |
CircleCIUSAGE-BASED PIPELINES | $0 / month | Up to 6,000 build minutes, 5 active users, 2 GB storage, and 1 GB network | Config-as-code pipelines, Docker/Windows/Linux/macOS executors, self-hosted runners, and concurrency controls | Good fit for teams that want strong executor choice and predictable free CI capacity | The free plan is credit- and usage-aware; scale requirements above the free envelope shift into paid credits quickly | Go to Site ↗ |
Choose it when repositories already live on GitHub and you want marketplace actions, pull-request checks, release automation, and easy self-hosted runners.
Choose GitLab when source control, merge requests, pipelines, package registry, security scans, and deployment environments should be managed together.
Choose it for Azure-heavy teams, open-source projects needing generous hosted capacity, or multi-platform jobs tied to Microsoft DevOps.
Choose Yunxiao when code, artifacts, deployment, and team collaboration need China-region access and Alibaba Cloud integration.
A small app can burn quota quickly with matrix builds, Docker image layers, browser tests, dependency installs, and repeated pull-request updates.
Hosted runners are convenient but quota-bound. Self-hosted runners reduce CI billing, but you own patching, secrets isolation, capacity, and cleanup.
Dependency, Docker, and build caches save minutes, but stale caches can hide reproducibility bugs or consume storage quotas unexpectedly.
Production deploys should require protected branches, environment approvals, scoped secrets, rollback paths, and visible deployment history.
End-to-end tests, mobile builds, Windows/macOS jobs, and Docker builds are much heavier than lint-only pipelines.
Avoid exposing production secrets to untrusted pull requests. Use environment approvals, masked logs, and narrowly scoped tokens.
Build artifacts, coverage reports, screenshots, and release bundles need retention rules or they quietly consume storage quotas.
The more marketplace actions, proprietary contexts, and hosted services a workflow uses, the harder it becomes to move CI providers later.
Run type checks and unit tests on every pull request, then deploy previews from branches and production from protected main.
Build images once, scan them, push to a registry, then deploy the immutable tag through staging and production approvals.
Use path filters, dependency graphs, and shared caches so changes trigger only the relevant packages, tests, and deploy jobs.
CI/CD behavior depends heavily on repository permissions, branch rules, pull requests, and package quotas.
Container pipelines need registry storage, image permissions, retention policies, and pull-rate awareness.
Frontend deployment platforms often include preview environments and build hooks that overlap with CI/CD usage.
GitHub Actions is usually the simplest default because checks, permissions, marketplace actions, environments, and releases are built into the GitHub workflow. Public repositories get especially generous usage.
Count how many pull requests and commits run per month, multiply by average job duration, then add heavier jobs such as Docker builds, browser tests, mobile builds, and release pipelines.
Most platforms do not charge hosted-runner minutes for self-hosted machines, but you still pay for infrastructure, maintenance, isolation, network, monitoring, and security hardening.
The common hidden costs are slow dependency installs, unbounded Docker builds, long browser tests, artifact retention, cache storage, and paid macOS or larger runners.
Upgrade when queue time blocks developers, production deploys need approvals and audit trails, hosted minutes are consistently exhausted, or security requirements demand stronger controls.