Wat is CI/CD?
CI/CD staat voor Continuous Integration/Continuous Delivery of Deployment. Het systeem waarmee code gecontroleerd en uiteindelijk live gezet wordt, noemen we ook wel een CI/CD pipeline. Door een CI/CD pipeline in te stellen, kunnen teams code snel en betrouwbaar live zetten en het product doorlopend verbeteren.
Continuous Integration
Continuous Integration (CI) is een werkwijze waarbij developers steeds kleine wijzigingen aanbrengen en dan toevoegen aan de gezamenlijke code. Door wijzigingen snel aan te brengen en niet te grote stukken code in een keer toe te voegen, wordt de kans dat stukken code niet met elkaar samenwerken veel kleiner. Om dit goed te laten verlopen is een groot deel van het proces geautomatiseerd. Zo worden er automatisch bepaalde checks en tests uitgevoerd om fouten en inconsistenties in de code tijdig op te kunnen sporen. Naast de automatische tests controleren developers elkaars werk voordat het toegevoegd wordt aan de gezamenlijke code. Hiervoor zijn allerhande tools beschikbaar.
Continuous delivery of deployment
CD kan verwijzen naar Continuous Delivery of Continuous Deployment. Beide begrippen worden regelmatig door elkaar gehaald, maar ze verschillen wel van elkaar.
Continuous Delivery gaat verder waar CI eindigt. Het automatiseert het brengen van de code naar verschillende omgevingen. Vaak werken teams met meerdere omgevingen, zoals een test-, development- of productieomgeving. Tools voor Continuous Delivery zorgen ervoor dat de juiste settings voor een omgeving zijn ingesteld en dat de juiste gegevens worden opgehaald. Ook nu is het doel om eventuele fouten zo snel mogelijk te detecteren.
Vaak moeten er uiteindelijk nog een aantal handmatige taken uitgevoerd worden om de nieuwe code live te zetten voor de eindgebruiker. Een team kan code met vertrouwen live zetten als het CI/CD-proces goed is verlopen en alle tests zijn geslaagd. Continuous Deployment gaat een stap verder. Hierbij wordt ook het live zetten van de code geautomatiseerd. Dit betekent dat code die de tests doorstaat, binnnen zeer korte tijd automatisch live komt te staan. Dit vraagt om een perfect uitgedachte CI/CD, waarbij alle onderdelen van de code uitgebreid en secuur getest worden.