DevOps & CI/CDpokročilý

Č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í:

  1. Stiahne kód a nainštaluje závislosti (1 min)
  2. Spustí 200 unit testov (2 min)
  3. Vykoná ESLint kontrolu a type checking (1 min)
  4. Nasadí na staging a spustí E2E testy (3 min)
  5. 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á.