CI/CD for Small Teams: A Pragmatic Setup with GitHub Actions
A pragmatic CI/CD pipeline for teams of 1-10 engineers using GitHub Actions. Yaml included, no over-engineering, ready in 2 hours.
Small-team CI/CD doesn't need Jenkins, ArgoCD or 47 Terraform modules. It needs three GitHub Actions workflows. Here's the pragmatic setup that has shipped reliably across dozens of our client projects.
Workflow 1: lint, type-check, test on every PR
The first workflow runs on every pull request: install dependencies, run linter, run type-checker, run unit tests, build the production bundle. Fails the PR if anything is broken. Total runtime: 3–5 minutes.
Cache the package manager (actions/setup-node@v4 with cache: 'npm') and the framework's build cache (Next.js .next/cache). This typically cuts CI time in half.
Workflow 2: deploy to preview on PR open
Each PR gets a preview deployment — Vercel and Netlify do this for free, but you can replicate it on Cloud Run, ECS or any host with a small script. Post the preview URL as a comment on the PR.
This single workflow eliminates 80% of 'works on my machine' bugs because reviewers click a real working preview, not just read code.
Workflow 3: deploy to production on merge to main
Merge to main triggers a deploy. We always wrap production deploys in a feature-flag system (LaunchDarkly, Posthog feature flags, or a homegrown table) so 'deploy' and 'release' are decoupled.
Add a manual approval step if your deploys are high-stakes (e.g. you handle payments). GitHub Actions' environments feature handles this cleanly.
What to skip until you actually need it
Multi-stage approval workflows, complex canary deploys, blue/green deployments, custom Kubernetes operators. All wonderful at scale, all premature for a team of 5.
Add complexity when you have a specific incident that demanded it, not because Hacker News said so.
The observability minimum
Pair the deploy pipeline with: Sentry for error tracking, Logflare or Better Stack for log aggregation, and a simple uptime monitor (Better Uptime, Pingdom, UptimeRobot). $50/month total. You'll know about incidents before your customers do.
Pragmatism wins
We have clients running serious production workloads on a 200-line GitHub Actions setup. The goal isn't sophisticated CI/CD, it's reliable shipping. Start simple, evolve as concrete pain points emerge.
Want help with this?
At Biztreck Solutions we build, revamp, rank and scale digital products end-to-end. If you'd like a second opinion on your stack, a free audit, or a quote for your next project — start a conversation with our team.
