CI/CD Choices for a One-Person Cloud Consultancy
When you're a one or two-person cloud consultancy, every hour spent maintaining your own tooling is an hour you're not billing. The right CI/CD choice isn't the one with the most features, it's the one that costs the least ongoing attention while still giving a client something solid to inherit when you're done.
Here's how to weigh GitHub Actions against GitLab CI when the person maintaining the pipeline is also the person billing for the work.
Vendors Covered in this Article
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
The real comparison: minutes you pay for versus minutes you don't
Both platforms give a generous free allowance for a single small project, which is usually enough for a solo consultant's own tooling. The calculation changes once you're running CI across several client repositories at once, each with its own test suite, since minutes across all of them count against the same account unless you're billing usage back to each client separately.
DevOps spend for a small technical services business tends to sit at a few percent of revenue when it's tracked at all1, and for a solo consultancy that spend is almost entirely your own time, not a line item on an invoice. Keep pipelines simple enough that they don't quietly become a second job.
Portability matters more than features when you don't own the relationship long-term
A solo consultant's engagements are often shorter than an agency's, which means your pipeline setup gets handed off sooner and more often. Favor whichever platform matches where the client's repository already lives rather than pushing your own preference, and keep your actual build logic in plain scripts the pipeline calls rather than deeply platform-specific configuration.
This makes a handoff a matter of explaining a short YAML file rather than untangling platform-specific features the client's next hire has never seen.
What each platform costs you in maintenance time
GitHub Actions requires less setup if the client is already on GitHub: workflow files are simple, and the marketplace of pre-built actions covers most common tasks without you writing custom scripts. GitLab CI takes slightly more setup time if you're new to its YAML structure, but its built-in container registry and merge request pipelines can save you from standing up a separate registry for a client who's containerizing their app for the first time.
Neither difference is large enough to justify learning a second platform from scratch for a single engagement. Go deep on whichever one you already know well.
Templates you can reuse without a client noticing they're templates
The fastest way to protect your margin on a fixed-price engagement is a personal library of starter pipelines for the project shapes you see most often: a static site, a small API, a containerized service. Keep them generic enough that dropping one into a new client repository takes an hour of adjustment, not a rebuild.
Resist over-customizing a client's pipeline to show off platform features they'll never touch again. A client paying for infrastructure work wants a pipeline that runs reliably and that someone else could maintain later, not a showcase of everything the platform can do.
Keep your starter templates in version control themselves, treated as their own small project rather than a folder of files you copy by hand. When GitHub Actions or GitLab CI changes something about how a step behaves, you want to update your template once and know every future client project starts from the fixed version, not discover months later that half your clients are running a workflow file with a since-deprecated setting in it.
When it's worth quoting a bigger CI/CD engagement
Most solo engagements need a simple pipeline and nothing more, but occasionally a client's needs genuinely justify more: multiple environments, a compliance requirement driving audit logging, or enough deploy frequency that self-hosted runners actually save real money over hosted minutes. Quote that work separately and explicitly, rather than absorbing it into a fixed price meant for a simpler setup.
A client who needs more than a basic pipeline usually also needs ongoing maintenance, which is a retainer conversation, not a one-time project. Recognizing the difference protects both your time and the client's expectations about what they're actually getting, and it also gives you a natural, honest reason to say no to scope that's crept well past what the original quote covered.
Say this plainly to the client rather than quietly absorbing the extra work: a bigger pipeline is a bigger ongoing commitment for both of you, and pretending otherwise just sets up a harder conversation a few months in.
Quote a larger CI/CD engagement separately when a client needs:
- Multiple environments, rather than one simple production deploy, each needing its own pipeline stage.
- A compliance requirement that drives audit logging, which goes beyond a simple pipeline and deserves its own line item.
- Enough deploy frequency that self-hosted runners save real money compared with hosted minutes.
What Good Looks Like
Good looks like a pipeline you can explain to a client's next hire in ten minutes, built from plain scripts wrapped in a thin platform-specific file, with nothing that only you understand how to maintain.
Building The Capability (5-Stage Skill Ladder)
How to Get Started
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
For a client already committed to AWS, scoping your pipeline's deploy role narrowly through IAM keeps you from needing broad account access just to ship their changes.
Google Cloud Run is a low-maintenance deploy target for a small client project, since there's no cluster for either of you to keep patched.
If a client's compliance needs outgrow what you can reasonably track by hand, recommending Vanta is often more useful to them than you billing hours to compile evidence manually.
Frequently Asked Questions
Should I recommend a client switch CI platforms if I think the other one fits better?
Only if the benefit clearly outweighs the migration cost, and usually it doesn't for a short engagement. A platform switch is a project of its own; unless the client's current platform is actively blocking what they need, leave it alone and work within it.
Is it worth learning both platforms well as a solo consultant?
Yes, eventually, since clients arrive on whichever platform they already picked. Start by going deep on one, then pick up the second once you've turned down a couple of engagements because you weren't comfortable with it.
How do I avoid CI minutes eating into a fixed-price engagement's margin?
Cap what the pipeline actually runs, full test suite on pull requests and merges, not on every commit to a feature branch, and cache dependencies aggressively. Most overage comes from a pipeline running more often than the work actually requires.
What's the biggest mistake solo consultants make with client CI/CD?
Building something more elaborate than the client needs because it's more interesting to build. A client paying for a small project rarely benefits from a multi-stage pipeline with canary deploys; they benefit from something reliable that someone else can maintain once you're gone.
Sources
Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.
- DevOps spend as % of ARR (median, private B2B SaaS). SaaS Capital 2026 Spending Benchmarks for Private B2B SaaS Companies (15th annual survey, 1,000+ companies), 2026.
Related Guides
GitHub Actions vs GitLab CI vs CircleCI: Continuous Integration Comparison
Compare GitHub Actions, GitLab CI, and CircleCI: build speeds, runner pricing, matrix testing, Docker orchestration, secret management, and DORA metrics.
Testing Agent Workflows in CI When the Output Isn't Deterministic
How AI automation agencies structure CI/CD for agent pipelines, why unit tests fall short, and what to check before shipping a client automation.
Scanning Infrastructure Code: A Worked Example for DevOps Consultants
A walkthrough of scanning Terraform and container pipelines for a technical cloud and DevOps consultancy choosing Snyk or GitHub Advanced Security.
SOC 2 for a Small Cloud and DevOps Consultancy
Whether a small cloud or DevOps consultancy needs SOC 2 at all, and how Vanta, Drata and Secureframe compare for a lean team without in-house compliance staff.
Picking a CI/CD Pipeline When You're a Two-Person Engineering Team
How a small SaaS team should choose between GitHub Actions and GitLab CI, weigh runner cost against speed, and avoid overbuilding a pipeline too early.
Cursor vs GitHub Copilot for Cloud and DevOps Consultants
Most of a cloud consultant's week is Terraform and YAML, not application code. How that shifts the Cursor vs GitHub Copilot decision for solo and small teams.