CI/CD Pipeline
Commit → produkce za 15 minut.
Automatizované delivery pipeline s quality gates, security scany a progressive rollout. Deployment jako rutina, ne událost.
Proč CI/CD není jen build a deploy¶
CI/CD je celý delivery pipeline od commitu po produkci. Každý krok automatizovaný, měřitelný, auditovatelný.
Pipeline architektura¶
┌─────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐ ┌──────────┐
│ Commit │──▶│ Build + Lint│──▶│ Test Suite │──▶│ Security│──▶│ Staging │
│ │ │ + SAST │ │ Unit + Integ│ │ Trivy │ │ E2E │
└─────────┘ └──────────────┘ └──────────────┘ │ Checkov │ │ Smoke │
└────┬─────┘ └────┬─────┘
│ │
Quality gates Quality gates
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ Prod │ │ Full │
│ Canary │──▶│ Rollout │
│ 5% │ │ 100% │
└──────────┘ └──────────┘
Quality Gates¶
Automatické checks v pipeline:
- Test coverage < 80%? → Pipeline stops
- Critical security vulnerability (Trivy, Snyk)? → Pipeline stops
- Performance regression > 10% (benchmark tests)? → Pipeline stops
- Linting errors (ESLint, golangci-lint)? → Pipeline stops
- Dependency audit (known vulnerabilities)? → Warning / stop
Žádný manuální approval pro standard changes. Exception process pro urgent hotfixes.
DORA metriky¶
Měříme delivery performance:
- Deployment frequency — Kolikrát denně. Cíl: multiple per day.
- Lead time for changes — Commit → production. Cíl: < 1 hodina.
- Change failure rate — Deploye, které způsobí incident. Cíl: < 5%.
- MTTR — Mean time to recovery. Cíl: < 1 hodina.
Dashboard s trendy. Retrospektiva nad metriky každé 2 týdny. Continuous improvement.
Standardizované Pipeline Templates¶
Reusable templates pro typické workloady:
- .NET API — Build, test, Docker, deploy to K8s
- Node.js API — Build, test, Docker, deploy
- Static frontend — Build, test, deploy to CDN
- Terraform — Validate, plan, apply with approval
- Helm chart — Lint, template, deploy with ArgoCD
Tým vybere template, nakonfiguruje parametry, má CI/CD za hodiny. Best practices zabudované.
Časté otázky
Záleží na ekosystému. GitHub Actions pro GitHub repos (marketplace, community actions). GitLab CI pro GitLab (integrated, self-hosted runners). Azure DevOps pro Microsoft stack. Principles jsou stejné.
GitHub Secrets / GitLab CI Variables pro pipeline secrets. HashiCorp Vault pro runtime secrets. Nikdy v kódu, nikdy v plain text. Rotace automatizovaná.
Ano. Affected detection — buildíme a deployíme jen změněné služby. Turborepo, Nx, nebo custom detection na základě git diff. Drastické snížení build time.