CI CD - SebastiaanPr/IT-Landscape GitHub Wiki

Wat is CI/CD?

CI/CD oftewel Continuous Integration (CI) en Continuous Delivery (CD) is een manier van werken binnen software teams. Het grote ding aan CI/CD is dat het de afhandeling van codewijzegingen automatisch gaat doen denk aan dingen zoals testen, etc.

Continuous Integration is een concept waar de bedoeling is dat developers kunnen focussen op het schrijven van nieuwe en kwalitatief volle code. Het is het automatiseren van de integratie van code. Dit komt doordat code automatisch word getest door unit testen. De bedoeling is dan ook dat developers frequent codewijzegingen uitvoeren op een gedeelde repository.

Continuous Delivery is het 2e deel na dat code getest is en geslaagd komt het terecht in de CD fase. Dit proces is de automatisering voor het uitbrengen van software in verschillende omgevingen om ze zo klaar te maken voor release. De testen die hier onder vallen zijn anders als in de 1e fase hier gaat de UI getest worden, load testing, integratie testen, etc.

Voordelen van CI/CD

Wat zijn nu de voordelen van een CI/CD pipeline. Wel ten eerste is doordat testen automatisch worden gedaan er al een kleiner risico op bugs en dat zorgt ervoor dat je sneller stabielere en betrouwbaardere code kunt uitbrengen.

Het volgende voordeel is door dat alles automatisch gebeurt dat je ook veel sneller feedback krijgt. Dit versnelt het productie proces enorm vooral als het gaat over grote projecten waar veel mensen aan werken.

Het 3e grote voordeel is dat door gebruik te maken van een CI/CD pipeline iedereen constant in de zelfde omgeving werkt. Dit is belangrijk als je van ontwikkeling overgaat naar productie. Door de consistente omgeving vermeid je al een pak problemen die zich kunnen plaats vinden.

Het belangrijkste voordeel van de CI/CD pipeline is dat het toestaat om efficiënt samen te werken. Door de pipeline kunnen developers zorgeloos hun individueel werk gemakkelijk uitvoeren doordat ze weten dat de pipeline de integratie voor hen doet.

Hoe heb ik dit deel aangepakt

Mijn aanpak van dit deel was vrij simpel. Ik ben eerst gaan kijken naar wat de opdracht inhield. Daarna heb ik taken gemaakt in het kanban bord zodat ik kon zien wat ik precies moest doen en wat ik al af had.

Voor de werkelijke opdracht heb ik eerst wat code gezocht voor in mijn repository te zetten. Ik heb de code gebruikt die via de link in de opdracht stond. Vervolgens heb ik wat research gedaan naar wat de CI/CD pipeline doet. Meeste info komt van de link die ook tevinden was in de opdracht. Daarna heb ik een yml file gemaakt met de code van die link en heb ik getest of het werkte. De eerste keer kreeg ik een error en heb ik uitgezocht waarom ik die error kreeg. Ik heb dan de nodig fix gedaan om ervoor te zorgen dat het werkt en heb het getest.

Bronnen

Wat is CI/CD

What is CI/CD?

What is Continuous Delivery?

Wat is CI/CD? Continuous Integration en Continuous Delivery verder uitgelegd.

De voordelen van CI/CD voor jouw software development