Continuous Integration / Continuous Delivery (CI/CD)

CI/CD automatiseert en versnelt de bouw en oplevering van software

Bij onze Continuous Integration & Continious Delivery (CI/CD) oplossingen automatiseren we het bouwen en opleveren van software. Daarmee is veel winst te behalen. Ontdek op deze pagina de belangrijkste voordelen.

Voorkom menselijke fouten

Opsporen van fouten - met name menselijke fouten - in applicaties kost veel tijd. Door inzet van een CI/CD-straat voorkom je die fouten en onnodig tijdverlies.

Standaardiseer bouw- en oplever-processen

Door standaardisering en automatisering van terugkerende handelingen ontstaat een eenduidige en heldere werkwijze in je CI/CD-straat. Hierdoor ontstaat tijdwinst, want geautomatiseerde handelingen zijn veel sneller voltooid.

Sneller releasen en fixen

Met CI/CD worden zoveel mogelijk processen en handelingen geautomatiseerd. De tijdwinst en vermindering van fouten zorgen voor snellere release van features en de mogelijkheid tot snellere bug-fixes.

Bij de inzet van Continuous Integration & Continious Delivery (CI/CD)-oplossingen streven we naar verhoging van de kwaliteit van de technische bouwstraat, maar minstens net zo belangrijk is de optimalisatie van menselijke en organisatorische handelingen en processen. De juiste balans tussen beide aspecten zorgt voor efficiënter opleveren en bouwen van software.
 

Single source of truth

Bij CI/CD is de buildserver de referentie (single source of truth) van je project. De buildserver valideert veranderingen in code of omgevingen en checkt de beschikbaarheid van alle benodigdheden. Zo zorgt de buildserver voor een succesvolle bouw van de software. Benodigdheden zijn dus niet alleen beschikbaar op een individuele laptop van een developer, maar beschikbaar voor iedereen vanuit bijvoorbeeld de code repository of artifactory. Zo worden repeatable builds gerealiseerd. Deze builds kunnen vervolgens getest en gedeployed worden naar een (test-)omgeving. Er is een verscheidenheid aan tools voor buildservers beschikbaar. Wij gebruiken vaak Jenkins en GitLabCI, maar ook Outsystems en NativeScript Sidekick.

 

Tests automatiseren

Het doel van de Continuous Integration-straat is automatisch valideren of de code nog compileert, maar ook of de samenwerking tussen verschillende applicaties nog werkt. Hiervoor is het dus ook nodig om automatisch te testen. Dat kan op heel veel verschillende manieren en is bijvoorbeeld afhankelijk van programmeertaal, omgeving, data of externe systemen. Testen is een essentieel onderdeel van de CI / CD-straat, die vraagt om andere werkwijzen of processen van tools én van mensen. Bij Flusso onderzoeken en adviseren we de beste opties om succesvol automatisch testen toe te voegen aan je CI/CD-straat. Veel voorkomende tools daarvoor zijn: Cucumber, Selenium, Gatling. 

 

Oplevering automatiseren

Automatische oplevering dwingt je tot standaardisatie van processen, die je vervolgens herhaalbaar maakt. Daarmee voorkom je menselijke fouten waardoor het hele proces versneld wordt en minder foutgevoelig is. De mate waarin je een productieomgeving geautomatiseerd oplevert is afhankelijk van specifieke wensen of eisen die meestal niet technisch van aard zijn.

 

Gebruik testomgevingen naast elkaar

Bij grote teams of grote applicaties is het relatief duur om voor iedere nieuwe codewijziging een testomgeving te lanceren of om deze wijziging geïsoleerd te testen. De CI-straat kan dit automatiseren met bijvoorbeeld Docker en zo kunnen meerdere code-wijzigingen snel en naast elkaar worden getest. Hierdoor kan je meer parallel testen, waardoor testen sneller gaat. Ook zoeken naar fouten duurt minder lang, want wijzigingen worden in isolatie getest.

 

Controleer code-kwaliteit

Met de inzet van bijvoorbeeld SonarQube in de CI/CD-straat controleren we de code van een applicatie. Deze tool geeft inzicht in de kwaliteit en netheid van je code, hoeveel (potentiële) bugs er voorkomen en wat de test coverage is. Zo worden veel voorkomende fouten eruit gehaald en inzichtelijk gemaakt. Ook kan deze tool gebruikte dependencies controleren op bekende kwetsbaarheden. Zo voorkom je potentiële veiligheidsrisico’s door gebruik van dependencies in je applicatie die verouderd zijn en/of lekken bevatten. Deze tool geeft ook trends weer, zodat teams worden gemotiveerd om de applicatie steeds een stukje beter te maken. Tot slot zou je de tools zo kunnen configureren dat code aan een bepaalde kwaliteit moet voldoen voordat deze gedeployed mag worden (Quality Gate). SonarQube zorgt dus voor Continuous code quality.

 

Reduceer menselijke interventie

Menselijke interventie in processen kost tijd en vergroot de kans op fouten. Je wilt dus voorkomen dat handmatige handelingen in het bouw of opleverproces zitten. Investeer in het automatiseren van deze handelingen en reduceer deze zoveel mogelijk, het liefst tot het punt waar alleen toestemming gegeven hoeft te worden om bepaalde stappen uit te voeren, en niet het uitvoeren van de stappen zelf (door scripting bijvoorbeeld).

 

5 praktische Business Continuity-adviezen

We helpen je graag vast op weg met de 5 praktische adviezen, zodat je zelf aan de slag kunt met business continuity in jouw organisatie:

Meer weten over CI/CD?

Wat wil je met CI/CD oplossen in jouw organisatie? Omschrijf de huidige situatie van CI/CD in jouw organisatie. Heb je er bijvoorbeeld nog niks mee gedaan, zijn een paar mensen ermee bezig of lopen jullie ergens op vast?

bel met mij bel met me op: +31 (0)33 - 4347680
Siemen Klaver
Siemen kent alle oplossingen van Flusso en adviseert bij de juiste keuzes rondom CI/CD
Generic placeholder image
Vereist
Vereist