praksisPASS

Continuous Delivery (CD)

Automatisering af hele release-processen, så software kan deployes til produktion når som helst.

Server-rum med blinkende lys der symboliserer automatiseret deployment
Foto: Taylor Vick / Unsplash

Continuous Delivery (CD) udvider Continuous Integration ved at sikre, at kode altid er i en tilstand, der kan deployes til produktion. Hvor CI fokuserer på at bygge og teste, handler CD om at automatisere hele vejen fra kode til produktion.

CD-processen inkluderer automatiserede acceptance tests, performance tests, sikkerhedsscanninger og staging-deployments. Hvert trin i pipelinen validerer, at softwaren opfylder kvalitetskravene. Hvis alle gates passerer, er softwaren klar til produktion med et enkelt klik.

Der er en vigtig distinktion mellem Continuous Delivery og Continuous Deployment. Ved Continuous Delivery er deployment til produktion et manuelt valg, mens Continuous Deployment automatisk deployer enhver ændring, der passerer alle tests. De fleste organisationer starter med Delivery og bevæger sig gradvist mod Deployment.

En moden CD-pipeline bruger miljøer som development, staging og produktion. Artefakter bygges én gang og promoveres gennem miljøerne, hvilket sikrer at præcis det samme artefakt, der blev testet, også er det der deployes. Docker-images og immutable infrastructure gør dette nemmere end nogensinde.

Fordelen ved CD er dramatisk reduceret risiko ved releases. I stedet for store, sjældne releases med hundredvis af ændringer, deployer man små, hyppige ændringer. Hvis noget går galt, er det nemt at identificere årsagen og rulle tilbage. Teams der praktiserer CD deployer typisk flere gange om dagen med minimal nedetid.

video // Continuous Delivery forklaret