ALL CASE STUDIES

DevOps / Platform

CI Quality Gate at Scale

A parallel, advisory-first quality gate fronting a 200+ repository estate.

Promotion — the same image moves right

Dev

feature/* · fix/*

No approval

QA team approves
SIT

integration

QA testing

Tech Lead approves
Replica

main

Prod-like staging

Release Manager approves
Prod

main

Live traffic

How a change travels

  1. 01feature/* or fix/*

    developer branches

  2. 02Open PR → integration
  3. 03PR Gate

    policy check + code review

  4. 04Merge to integration
  5. 05Deploy → SIT

    QA validates

  6. 06Open PR integration → main
  7. 07PR Gate + QA sign-off

    SIT tested

  8. 08Merge to main
  9. 09Promote the SAME image

    Replica → Prod · TL then RM approve

A failing gate routes back to the developer as changes requested — the loop most diagrams leave out, and where the majority of cycle time actually goes.

Security scans — every build, every PR

  • SASTFortifyStatic analysis of our own source
  • SCABlackDuckOpen-source dependencies and licences
  • CVETrivyContainer image vulnerabilities, High/Critical
  • SIGNcosignImage signing and SBOM
  • SECRETGSMSecret verification before deploy

Any Critical or High finding blocks the merge. Results are emailed to whoever triggered the pipeline, pass or fail, with links to the reports.

GitOps — Git is the desired state

CI Pipeline

build · test · security, then record the intent

Git — single source of truth

image tag + config per environment

ArgoCD

watches Git, syncs every ~30s

GKE Clusters

Dev · SIT · Replica · Prod

Self-heal. ArgoCD compares live against Git continuously and corrects drift, so a manual change to a cluster is reverted rather than inherited.

Rollback is reverting the Git commit. There is no separate rollback procedure to get wrong at 2am.

Controls, and what each one buys

ControlWhat it preventsWho it protects
PR / branch-protection gatesUnreviewed or non-compliant code mergingWhole org
Quality + coverage gatesPoorly-tested changes shippingProduct quality
Vulnerability scanningKnown security flaws reaching prodSecurity posture
Image signingTampered or unverified images runningSupply-chain integrity
Secret pre-verificationHalf-configured, failing deploymentsReliability
Tiered approval gatesUnapproved promotion to higher environmentsGovernance
Health check + auto-rollbackA bad deploy causing an outageUptime
Immutable, promoted images"It worked in test but not prod"Predictability
GitOps audit trailUntracked or undocumented changesCompliance / audit

What it took

Lint, test, coverage and security scanning run concurrently per pull request instead of serially per repo, cutting gate time substantially. Rolling it out in advisory mode first let teams onboard without blocking merges on day one, and a per-PR scan cap kept static-analysis spend bounded. Artifact resolution mints short-lived cloud credentials so private package registries resolve inside the gate without long-lived secrets.

  • CI/CD
  • Python
  • Bash
  • Artifact Registry
  • SAST