Wat zijn CI Tools?
CI tools zet men in om Continuous Integration (CI) binnen het softwareontwikkelingstraject te ondersteunen. Continuous Integration (CI) is het principe dat een ontwikkelaar meerdere keren per dag zijn werk naar een gedeelde repository merged. Integratieproblemen kun je hierdoor verder op in het softwareontwikkelingstraject voorkomen. Om dit proces te ondersteunen gebruikt men binnen de softwareontwikkeling zogenaamde CI Tools. Tijdens het ‘mergen’ voegt de ontwikkelaar zijn code samen met de code van andere ontwikkelaars. Vervolgens zal het product zichzelf automatisch bouwen en testen. Zo kunnen integratieproblemen en defecten in een vroeg stadium (tijdens het softwareontwikkelingstraject) aangepakt worden.
CI stappenplan
Tijdens het implementeren en gebruiken van CI Tools volgt men de volgende stappen:
- Opzetten van een centrale code repository en bijbehorend versiebeheer;
- Het automatiseren van de Build (bouwen van het product);
- De build testen;
- Iedereen merged (commits) zijn code naar de baseline van de repository minstens een keer per dag;
- Iedere commit naar de baseline wordt gebuild;
- Het Build proces moet snel blijven;
- Testen in een kloon van de productie omgeving;
- Maak de laatste deliverables beschikbaar voor alle betrokken partijen;
- Maak de resultaten van de laatste build zichtbaar voor iedereen;
- Automatiseer de deployment.
Gebruik van CI Tools
Welke CI Tools voor bovenstaand stappenplan het beste ingezet kunnen worden, hangt af van diverse factoren zoals de gebruikte technieken en infrastructuur. Het inzetten van CI Tools zal, mits ze goed geïmplementeerd zijn, leiden tot een sneller inzicht in de kwaliteit van het product. Daarnaast kunnen er integratieproblemen en conflicten in de code sneller in beeld komen met behulp van deze tools. Bent u benieuwd welke verbeteringen er voor u mogelijk zijn binnen het softwareontwikkelingstraject door het inzetten van CI Tools? Neem dan contact op met onze specialisten. Zij kunnen u helpen met advies over tooling, trends en het opzetten en gebruik van deze tools.