Lecție gratuită

Diferența dintre integrare continuă, livrare continuă și deployment continuu

Integrarea continuă înseamnă că fiecare dezvoltator trimite codul în depozitul comun de mai multe ori pe zi, iar la fiecare push un server automat compilează proiectul și rulează testele. Termenul a fost popularizat în cartea lui Martin Fowler din 2006 și pus în practică prin instrumente precum CruiseControl, unul dintre primele servere de integrare continuă folosite pe scară largă. Scopul integrării continue este să depisteze conflictele de cod și regresiile în câteva minute, nu după o săptămână, când deja alți cinci colegi au construit peste codul defect.

Livrarea continuă adaugă un artefact gata de instalat

Livrarea continuă (continuous delivery) pornește de la integrarea continuă și adaugă un pas suplimentar: fiecare commit care trece testele produce automat un artefact instalabil, de exemplu o imagine Docker etichetată cu hash-ul commit-ului sau un pachet .deb versionat. Artefactul poate fi trimis în producție cu un singur clic, dar decizia rămâne a unei persoane. Echipa verifică manual într-un mediu de staging înainte de a apăsa butonul de deploy pentru producție.

Deploymentul continuu elimină aprobarea umană

Deploymentul continuu (continuous deployment) merge un pas mai departe și elimină aprobarea manuală: orice commit care trece toate testele automate ajunge singur în producție, fără intervenție umană. Firme precum Etsy au raportat public zeci de deploy-uri pe zi cu acest model. Pentru un magazin online românesc de dimensiune mică, un deployment continuu fără suficiente teste automate poate opri pagina de plată exact în timpul unei campanii de reduceri, de aceea majoritatea echipelor mici aleg livrarea continuă, cu aprobare manuală explicită înainte de producție, și rezervă deploymentul continuu doar pentru mediul de staging sau pentru servicii interne cu risc redus.

NivelCe se automatizeazăAprobare umană înainte de producție
Integrare continuăBuild și teste la fiecare pushNu se aplică
Livrare continuăBuild, teste, creare artefact instalabilDa, obligatorie
Deployment continuuBuild, teste, deploy direct în producțieNu, procesul e complet automat

În practică, cele trei niveluri se confundă des la interviurile pentru poziții de inginer DevOps. Rețineți diferența printr-o singură întrebare: după ce testele trec, artefactul ajunge automat în producție sau așteaptă un clic uman? Dacă așteaptă, aveți livrare continuă. Dacă nu așteaptă nimic, aveți deployment continuu. Restul cursului construiește pipeline-uri concrete pentru fiecare dintre aceste modele, în GitLab CI, Jenkins și GitHub Actions, iar capitolele de GitOps arată cum Argo CD și Flux automatizează exact ultimul pas, sincronizarea stării clusterului Kubernetes cu depozitul Git.

Continuați cu restul cursului

Aceasta a fost o lecție din cele 90 ale cursului. Cumpărați cursul și parcurgeți tot conținutul în cont, cu progres salvat, test final și certificat.

Cumpărați cursul la 130 €