Wat is continue integratie?
Continue integratie (CI) is het gebruik van een repository van programmeercode die regelmatig wordt bijgewerkt met wijzigingen van een ontwikkelaar. Dit helpt ervoor te zorgen dat meerdere ontwikkelaars geen programmeercode maken die met elkaar conflicteert. Zonder voortdurende integratie worden conflicten die voorkomen dat code wordt uitgevoerd, heel gewoon.
In een omgeving met meerdere ontwikkelaars wordt het noodzakelijk om een systeem te vormen waarmee de ontwikkelaars kunnen samenwerken. Een centraal systeem van code wordt de codebasis of coderepository genoemd en dient als uitgangspunt voor al het werk van de ontwikkelaars. Elke ontwikkelaar in de groep kan een andere taak hebben. De ene moet mogelijk de gebruikersinterface verbeteren, terwijl de andere misschien een probleem in de code moet oplossen.
De ontwikkelaars werken mogelijk aan verschillende aspecten van het programma, maar er kunnen conflicten ontstaan. Deze conflicten kunnen ertoe leiden dat het programma instabiel wordt of zelfs dat de toepassing helemaal niet wordt uitgevoerd. Dit dwingt ontwikkelaars om extra tijd te besteden aan het bepalen van welk specifiek deel van de code het probleem veroorzaakt. Dit resulteert in een verlies van productiviteit en tijd, omdat ontwikkelaars gedwongen worden problemen op te lossen die voorkomen hadden kunnen worden.
Voortdurende integratie is de oplossing voor dit probleem. Continue integratie werkt door ervoor te zorgen dat elke wijziging die een ontwikkelaar aanbrengt, onmiddellijk wordt bijgewerkt in de coderepository. Wanneer een andere ontwikkelaar toegang tot de coderepository krijgt, ontvangt hij een kopie met de wijzigingen die de vorige ontwikkelaar heeft aangebracht. Dit zorgt ervoor dat elke ontwikkelaar de meest bijgewerkte kopie van de beschikbare programmeercode ontvangt.
Continue integratie voorkomt integratieproblemen niet. Hoewel continue integratie de integratieproblemen helpt beperken, doen deze problemen zich nog steeds voor in alle omgevingen met meerdere ontwikkelaars. Zelfs met continue integratie, kost het nog steeds tijd voor elke individuele ontwikkelaar om wijzigingen in de code aan te brengen. Dit heeft tot gevolg dat enkele wijzigingen in de repository worden aangebracht zonder dat andere ontwikkelaars het beseffen.
Hoewel continue integratie niet in staat is om alle conflicten die zich voordoen in een omgeving met meerdere ontwikkelaars te verlichten, is het een effectieve oplossing die de productiviteit maximaliseert. Hiermee kunnen meerdere ontwikkelaars binnen een redelijke tijd samenwerken en applicaties maken. Zonder dit zouden ontwikkelaars gedwongen zijn uren te besteden aan het oplossen van de problemen die zich voordoen als ze proberen twee verschillende stukjes code te integreren. CI bespaart ontwikkelaars tijd en bespaart bedrijven en consumenten geld.