The category, not just GitHub Actions
GitHub Actions is the focus of this quest, but it is one of many tools in a category that has been evolving for 20+ years. Knowing the alternatives helps you understand Actions' design choices and to switch when a job calls for it.
Self-hosted server tools
- Jenkins — the elder. Free, infinitely flexible, requires you to host it. Plugin ecosystem is enormous and aging. Still runs huge enterprise pipelines.
- TeamCity — JetBrains' offering. Strong UI, good for monolith shops.
- GoCD — pipeline-as-code with strong dependency modelling.
Source-code-platform integrated
- GitHub Actions — runs in GitHub. YAML in repo. Marketplace of shared actions. The default if your code lives on GitHub.
- GitLab CI/CD — same idea on GitLab.
.gitlab-ci.yml+ GitLab Runners. Self-hostable end-to-end. - Bitbucket Pipelines — Atlassian's. YAML in repo, Atlassian-native.
Cloud-native CI
- CircleCI — pioneered cloud CI. Strong caching, parallelism. Pay-per-minute.
- Buildkite — hybrid: their orchestrator, your runners. Popular with scale-ups that need beefy custom hardware.
- Travis CI — formerly the OSS default. Now mostly displaced by Actions for OSS projects.
Cloud-vendor-native
- AWS CodePipeline + CodeBuild, Google Cloud Build, Azure DevOps Pipelines — best when you are already deeply on that cloud.
Specialized
- Argo CD — GitOps for Kubernetes. Pipeline state lives in Git, deployment lives in cluster.
- Tekton — Kubernetes-native CI primitives. Build-your-own.