4.1 CI CD Inleiding - dkmattiUCLL/IT-Landscape GitHub Wiki

image

Wat is CI/CD?

CI/CD staat voor Continuous Integration en Continuous Delivery. Vroeger bestond het probleem dat coderen, testen en uitbrengen drie gescheiden fases waren. Dit zorgde voor minder communicatie tussen alle betrokken partijen en maakte dat fouten in de code soms pas in een laat stadium werden opgemerkt. Daardoor moest er vaak veel werk verzet worden om deze fouten alsnog op te lossen, terwijl dit beperkt had kunnen blijven als ze eerder waren ontdekt.

Continuous Integration werkt met automatische tests die na elke push van een ontwikkelaar onmiddellijk controleren of de code nog steeds werkt. Dit zorgt ervoor dat kleine bugs veel sneller opgespoord en opgelost kunnen worden. Hierdoor kunnen goedwerkende features meteen uitgebracht worden, in plaats van in grote releases met langere tussenpozen.

De deployment gebeurt ook automatisch zodra de code correct werkt. Dit is dus een taak minder die manueel uitgevoerd moet worden, wat de productiviteit ten goede komt.

Er zijn echter ook enkele nadelen. Tests schrijven is arbeidsintensief. Voor grote projecten is dat op lange termijn voordelig, maar voor kleinere projecten niet altijd even rendabel.

Continuous Delivery zorgt ervoor dat een klant niet lang hoeft te wachten op nieuwe features en bugfixes. Deze kunnen nu meteen uitgebracht worden zodra ze gebruiksklaar zijn. Er wordt hierbij vaak gebruikgemaakt van canary deployments: je brengt een nieuwe feature eerst uit voor bijvoorbeeld 10% van de gebruikers. Als er geen klachten terugkomen, wordt de feature verder uitgerold naar de rest.

image



image image

⚠️ **GitHub.com Fallback** ⚠️