Continuous Integration

Wat is Continuous Integration?

Het concept van Continuous Integration is dat iedere ontwikkelaar zijn code continu test en oplevert naar de gedeelde code van het hele team. Deze gedeelde code staat ook bekend als een master branch, trunk of mainline. Tegenwoordig wordt deze methode veel toegepast binnen de software engineering, zodat ontwikkelaars samen kunnen werken aan hetzelfde product én toch waarde kunnen blijven leveren.

Continuous Integration inzetten

Bij Continuous Integration is het belangrijk om mogelijke fouten vroegtijdig op te sporen. Zo zorg je ervoor dat deze gedeelde code, waar iedere ontwikkelaar mee moet werken, stabiel blijft en niet voor problemen zorgt.

De volgende principes helpen hierin:

  • Zorg dat je een code version control tool, zoals Git, hebt om je gedeelde code in te kunnen onderhouden. De tijd van zip’jes rondsturen is verleden tijd.
  • Zorg dat er een automatische build draait met unit tests bij iedere nieuwe commit. Dit gebeurt vaak met behulp van Circle CI, Travis, Jenkins, Gitlab CI of AzureDevOps,.
  • Geen Red Builds. Zodra de build faalt, moet dit per direct opgelost worden. Dit heeft prioriteit boven normaal werk.
  • Commit je code vaak en in kleine stukjes. Hoe meer ontwikkelaars aan dezelfde code werken, des te meer tijd je kwijt bent aan het oplossen van merge conflicten.
  • Zorg voor voldoende unit tests om aan te kunnen tonen wanneer een commit functionaliteit omgegooid moet worden, bijvoorbeeld als je code schadelijk is. Hiermee kunnen ontwikkelaars hun eigen code testen voordat ze dit opleveren naar de gedeelde branch. Je kunt dit ook uitbreiden met statische checks, zoals SonarQube.
  • Zorg ervoor dat je built snel blijft. Alle ontwikkelaars moeten namelijk gebruik maken van deze automatische builds en zal de snelheid van hun opleveringen direct afhankelijk zijn van de snelheid van jouw builds.

Waarom Continuous Integration?

Automatische deployments met functionele testsets (selenium E2E tests) worden door Continuous Integration een stuk waardevoller, omdat je deze nu continu kunt draaien vanuit de laatste versie van je code. Hiermee breng je het Continuous Integration (CI) en Continuous Delivery (CD) proces in een stroomversnelling.

Bent u benieuwd wat Continuous Integration voor u kunt doen? Onze experts kunnen u adviseren en helpen met het opzetten van Continuous Integration binnen uw bedrijf. Neem hiervoor vrijblijvend contact met ons op.