CI/CD je kombinace postupů a nástrojů, které umožňují vývojovým týmům dodávat kód častěji, spolehlivěji a s minimem manuálních zásahů. Je to základní pilíř kultury DevOps.
Zkratka se skládá ze dvou (respektive tří) hlavních částí:
Cílem CI je zajistit, aby kód od různých vývojářů mohl být pravidelně (i několikrát denně) slučován do centrálního repozitáře (např. Git).
Zde dochází k automatizaci cesty kódu z repozitáře k uživateli.
Typická „trubka“ (pipeline) obsahuje tyto kroky:
| Fáze | Nástroje | Činnost |
|---|---|---|
| Source | Git, GitHub, GitLab | Správa verzí zdrojového kódu. |
| Build | Jenkins, GitLab CI, Maven | Kompilace kódu a vytvoření artefaktů (binárky, obrazy). |
| Test | JUnit, Selenium, Pytest | Ověření kvality a bezpečnosti kódu. |
| Deploy | Ansible, Terraform, ArgoCD | Nasazení do testovacího nebo produkčního prostředí. |
.gitlab-ci.yml.Pravidlo palce: Dobrá pipeline by měla být rychlá. Pokud testy trvají hodiny, vývojáři je přestanou sledovat a ztratí se výhoda rychlé zpětné vazby.