CI CD Continuous Integration-Continuous Delivery

Continuous Integration & Continuous Delivery (CI CD)

CI CD automatiseert en versnelt de bouw en oplevering van software

Bij onze Continuous Integration & Continuous 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 Continuous Integration & Continuous Delivery (CI CD)-straat voorkom je die fout

Standaardiseer bouw- en oplever-processen

Door standaardisering en automatisering van terugkerende handelingen ontstaat een eenduidige en heldere werkwijze in je Continuous Integration & Continuous Delivery (CI CD)-straat.

Sneller releasen en fixen

Met Continuous Integration & Continuous Delivery (CI CD) worden zoveel mogelijk processen en handelingen geautomatiseerd. De tijdwinst en vermindering van fouten zorgen voor snelle

Bij de inzet van Continuous Integration & Continuous 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 Continuous Integration & Continuous Delivery (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.

Security

Om ervoor te zorgen dat projecten up to date en veilig worden gehouden is het belangrijk om versies van gebruikte libraries regelmatig bij te werken. Dit is een vervelend klusje waar ontwikkelaars meestal weinig plezier aan beleven. Gelukkig is dit te automatiseren met bijvoorbeeld een Renovate Bot (https://docs.renovatebot.com/). Na het opzetten van deze tool is het vrij eenvoudig om nieuwe projecten aan te haken om hier plezier van te hebben. De ervaringen die we hier hebben opgedaan kun je lezen in onze blog.

Tests automatiseren met CI CD

Het doel van de Continuous Integration & Continuous Delivery (CI CD)-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 Continuous Integration & Continuous Delivery (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 Continuous Integration & Continuous Delivery (CI CD)-straat. Veel voorkomende tools daarvoor zijn: Cucumber, Selenium, Gatling.

 

Oplevering automatiseren

Automatische oplevering door middel van Continuous Integration & Continuous Delivery (CI CD) 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 Continuous Integration & Continuous Delivery (CI CD)-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 Continuous Integration & Continuous Delivery (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 Integration & Continuous Delivery (CI CD) 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 door Continuous Integration & Continuous Delivery (CI CD). Doe dit 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 Continuous Integration & Continuous Delivery (CI CD) in jouw organisatie:

Jouw groeikansen vinden & volop benutten!

Al sinds 2006 bouwen wij mee aan online startups, lanceren we digitale platforms en helpen we organisaties om innovaties te versnellen.