Čo je CI/CD pipeline?
CI/CD pipeline je automatizovaný proces, ktorý zabezpečuje kontinuálnu integráciu (CI) a kontinuálne doručovanie/nasadzovanie (CD) softvéru. Zahŕňa zostavenie kódu, testovanie, kontrolu kvality a nasadenie do produkcie.
Definícia CI/CD pipeline
Čo je CI/CD pipeline
CI/CD je skratka pre Continuous Integration / Continuous Delivery (kontinuálna integrácia / kontinuálne doručovanie). Koncept CI zaviedol Grady Booch už v roku 1991 a neskôr ho rozpracoval Martin Fowler v rámci extrémneho programovania (XP).
Fázy CI/CD pipeline
Typický pipeline pozostáva z niekoľkých automatizovaných krokov:
- Source — spustenie pipeline pri zmene kódu (push, merge request)
- Build — kompilácia kódu a zostavenie artefaktov
- Test — spustenie unit testov, integračných testov a statickej analýzy
- Security scan — kontrola zraniteľností v závislostiach a kóde
- Deploy to staging — nasadenie na testovacie prostredie
- Deploy to production — nasadenie do produkcie (manuálne alebo automatické)
Rozdiel medzi Continuous Delivery a Continuous Deployment: pri delivery je posledný krok (nasadenie do produkcie) manuálny, pri deployment je plne automatický. Medzi populárne CI/CD nástroje patria Jenkins, GitHub Actions, GitLab CI, CircleCI a Azure DevOps.
Praktický príklad
Príklad: Vývojár pushne opravu bugu do Git repozitára.
Pipeline sa automaticky spustí:
- Stiahne kód a nainštaluje závislosti (1 min)
- Spustí 200 unit testov (2 min)
- Vykoná ESLint kontrolu a type checking (1 min)
- Nasadí na staging a spustí E2E testy (3 min)
- Po schválení v pull requeste nasadí na produkciu (1 min)
Celý proces trvá 8 minút — bez manuálneho zásahu.
Často kladené otázky
Čo je CI/CD pipeline?
CI/CD pipeline je automatizovaný proces, ktorý po každej zmene kódu zostaví aplikáciu, spustí testy a nasadí ju na server. Cieľom je rýchle a spoľahlivé doručovanie softvéru.
Aký je rozdiel medzi CI a CD?
CI (Continuous Integration) je automatické zostavovanie a testovanie kódu po každom commite. CD (Continuous Delivery/Deployment) je automatické nasadenie otestovaného kódu na staging alebo priamo do produkcie.
Ktoré nástroje sa používajú na CI/CD?
Najpoužívanejšie nástroje sú Jenkins, GitHub Actions, GitLab CI/CD, CircleCI, Travis CI a Azure DevOps. Výber závisí od technológie, veľkosti tímu a infraštruktúry.
Prečo je CI/CD dôležité?
CI/CD znižuje riziko chýb, zrýchľuje vydávanie nových verzií a umožňuje tímu dodávať hodnotu zákazníkom denne namiesto mesačne. Automatizácia eliminuje manuálne chyby a šetrí čas.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.