Continuous Delivery és Continuous Deployment (CD)

Continuous Delivery és Continuous Deployment (CD)

A CD rövidítés a DevOps világában két, egymással összefüggő, de különböző gyakorlatot jelölhet: Continuous Delivery (folyamatos szállítás) és Continuous Deployment (folyamatos telepítés).

Continuous Delivery

A Continuous Delivery olyan szoftverfejlesztési gyakorlat, amelyben a szoftver bármikor kiadható állapotban van, de a éles környezetbe való telepítés manuális döntést igényel.

Jellemzői:

  • Automatizált build, teszt és release folyamat
  • Kiadásra kész szoftver minden sikeres build után
  • Üzleti döntés alapján történő telepítés
  • Release pipeline végén emberi jóváhagyás
  • Alacsony kockázatú, előkészített kiadási folyamat
  • Staging környezetek használata a végleges jóváhagyás előtt

Continuous Deployment

A Continuous Deployment a Continuous Delivery kiterjesztése, ahol minden változtatás, amely átmegy az automatizált teszteken, emberi beavatkozás nélkül automatikusan telepítésre kerül az éles környezetbe.

Jellemzői:

  • Teljesen automatizált pipeline a kódváltoztatástól a telepítésig
  • Nincs "release nap" vagy manuális beavatkozási pont
  • Fejlesztői változtatások gyorsan éles környezetbe kerülnek
  • Apró, inkrementális változtatások
  • Fejlett monitorozás és visszaállítási mechanizmusok
  • Feature flag-ek használata a funkciók fokozatos bevezetéséhez

A két megközelítés összehasonlítása

Szempont Continuous Delivery Continuous Deployment
Automatizáció Build-től a telepítésig előkészítve Teljes folyamat automatizált
Éles telepítés Manuális döntés alapján Automatikus
Kiadási gyakoriság Üzleti igény szerint Minden sikeres változtatás után
Kockázat Mérsékelt Magasabb (kompenzálva automatizációval)
Ideális Szabályozott iparágak, kritikus rendszerek Web szolgáltatások, SaaS termékek

Mindkét CD megközelítés a CI gyakorlatra épül, és céljuk a szoftver kiadási ciklusok felgyorsítása, kockázatának csökkentése, valamint a fejlesztési és üzemeltetési folyamatok integrálása.