CI/CD a infrastructure-as-code pre fintech tím
Z ručného deploymentu cez SSH na plne automatizovaný pipeline. Frekvencia nasadení stúpla z 2× mesačne na 30× týždenne.
Východiskový stav
Tím ôsmich vývojárov, dva produkty, nasadenie prebiehalo ručne — SSH na server, git pull, reštart služby. Deployovalo sa v piatok poobede, čo je presne to, čo si každý sysadmin praje.
Prostredia sa líšili, staging nezodpovedal produkcii, secrets boli v .env súboroch v repozitári.
Čo sme postavili
1. Infraštruktúra ako kód. Celé prostredie (Hetzner Cloud servery, siete, firewall, DNS) prepísané do Terraformu. Staging a produkcia z rovnakých modulov, líšia sa len premennými.
2. Pipeline. GitLab CI s fázami: lint → test → build image → deploy staging → manuálna brána → deploy produkcia. Build je reprodukovateľný, image sa taguje commit SHA.
3. Secrets. HashiCorp Vault, aplikácie si ťahajú credentials pri štarte. .env súbory z repozitára odstránené, história prečistená.
4. Runtime. k3s cluster namiesto systemd služieb na holých strojoch — rolling deploy bez výpadku a jednoduchý rollback.
Výsledok
| Metrika | Pred | Po |
|---|---|---|
| Frekvencia nasadení | ~2× mesačne | ~30× týždenne |
| Čas nasadenia | 40 min ručne | 6 min automaticky |
| Rollback | ~1 hodina | 90 sekúnd |
| Zlyhané nasadenia | ~15 % | pod 2 % |
Dôležitejšie než čísla: tím dnes nasadzuje aj v piatok. A vie, ako to celé funguje — odovzdanie zahŕňalo runbooky a dva tréningové dni.