Service · CI/CD

From commit to production — without manual steps.

A good CI/CD pipeline is something you don't notice. It just delivers. Safely, traceably, and fast enough that the team can move at the pace of the business.

What I deliver

What's actually in a CI/CD engagement.

  • Pipeline architecture — GitHub Actions or Azure Pipelines, modular, with reusable workflows and templates. Build once, deploy many.

  • GitOps for delivery — Argo CD or Flux. The pipeline builds and signs artifacts; the cluster pulls from Git. Clear separation between CI and CD.

  • Secure supply chain — image signing with Cosign, SBOM generation, vulnerability scanning on pull request, and policies that block unsigned artifacts at admission.

  • Secrets handling — OIDC-based connections to Azure (no long-lived keys), Workload Identity, and Key Vault references at runtime.

  • Test, quality and gates — automated tests, code quality gates, dependency review and contract tests where they make sense. Requirements as code, not as manual checklists.

  • Multi-environment — dev, test, staging, production through the same code path. Environment protection, approval gates and full traceability of what's deployed where.

  • Rollbacks and recovery — Argo CD app history, signed image tags, and documented runbooks for when something needs to be reversed quickly.

Tooling

What I use day to day.

GitHub Actions Azure Pipelines Argo CD Flux Cosign Trivy Syft Renovate Dependabot SonarCloud Workload Identity OIDC Federation Helm Kustomize Bicep Terraform
Related case

What this has produced in practice.

Hygiena
68%

Reduced infrastructure cost.

Reduction in annual infrastructure cost — without compromise on performance or delivery speed.

Read the full story
Frequently Asked Questions

Things people usually wonder..

GitHub Actions or Azure Pipelines?

Usually GitHub Actions if the code lives in GitHub — it's simpler, easier to read, and integrates better with modern tooling. Azure Pipelines fits when there's significant existing investment, or for businesses that already lean on Azure DevOps. I work with both daily.

We have 47 different pipelines that all do slightly different things. Can you tidy this up?

Yes, and it's one of the things that delivers the most value. Reusable workflows, templates and a shared catalogue of building blocks usually reduce active pipelines by 70% and make the rest easier to maintain.

How long does it take to set up a modern pipeline?

For one team and one service: 1–2 weeks, including environments, signing and rollback procedures. For an entire organisation at platform level: 6–10 weeks for the first set, then incrementally as more teams come on.

Do we need GitOps to do this properly?

Not strictly, but it helps. GitOps makes production state traceable and reversible through Git. For teams new to Kubernetes I often recommend starting with classic pipeline-deploy and gradually adding GitOps when the pain of manual state management becomes obvious.

Terraform

Get in touch for a no-obligation conversation. Often a short assessment is enough to see where the biggest gains are.