Wat is een CI/CD-pipeline?

Een CI/CD-pipeline combineert Continuous Integration en Continuous Delivery, waardoor levering van software voor codering, testen en implementatie wordt geautomatiseerd.

DevOps demonstratie
Wat je moet weten over CI/CD
Maak kennis met CI/CD Wat zijn CI, CD en continue implementatie? Welke stappen moeten worden gevolgd om een CI/CD-pipeline te realiseren? Hoe is te zien of een pipeline efficiënt is? ServiceNow voor effectieve CI/CD-pipelines
Alles uitvouwen Alles samenvouwen Maak kennis met CI/CD

Het ontwikkelen van een bedrijfsapp kan lastig en tijdrovend zijn. Het hele proces kan maanden in beslag nemen, van de conceptfase, de fase voorafgaand aan het ontwerp, de ontwikkelingsfase en de testfase tot de afronding van de implementatie en de doorlopende ondersteuning en het onderhoud.

CI/CD is ontworpen om hier een einde aan te maken. Een CI/CD-pipeline is een combinatie van continue integratie (CI: Continuous Integration) en continue levering (CD: Continuous Delivery) en bestaat uit een reeks geautomatiseerde stappen die zijn ontworpen om applicatieontwikkeling aanzienlijk te vereenvoudigen. Met behulp van de werkingsprincipes en werkwijzen van CI/CD kunnen DevOps-teams sneller, vaker en eenvoudiger voltooide softwareproducten leveren met minder fouten.

DevOps Book of Knowledge Lees hoe je collega's DevOps omarmen om inzicht te krijgen in effectieve DevOps-transformatie en -modernisering. Download het e-book
Wat zijn CI, CD en continue implementatie?

Zoals eerder vermeld, omvat de CI/CD-pipeline zowel continue integratie als continue levering om een meer omvattende cultuur van softwareontwikkeling en een reeks werkingsprincipes te creëren. Maar wat zijn CI en CD precies, en hoe verhouden ze zich tot continue implementatie?

Wat is Continuous Integration (CI)?

Continuous Integration (CI) is een aanpak waarbij ontwikkelingsteams regelmatig incrementele wijzigingen in de code implementeren en testen. Deze wijzigingen worden vervolgens samengevoegd in een gedeelde, centrale opslagplaats. Deze repository kent versiebeheer, waardoor ontwikkelaars updates kunnen bekijken en indien nodig terug kunnen gaan naar eerdere versies. Deze iteraties, zogenaamde 'check-ins', kunnen meerdere keren per dag plaatsvinden tijdens de ontwikkelingscyclus. Elke wijziging wordt gecontroleerd door een geautomatiseerde build en tests om ervoor te zorgen dat problemen in de code snel kunnen worden geïdentificeerd en opgelost.

Wat is Continuous Delivery (CD)?

CI automatiseert ontwikkeling en testen, maar Continuous Delivery (CD) sluit de cyclus door aspecten van de softwarelevering te automatiseren. Terwijl de feedback wordt verwerkt en oplossingen worden geïmplementeerd, worden deze wijzigingen automatisch geüpload totdat het team de beslissing neemt om de applicatie richting productiefase te verplaatsen. CD resulteert in een implementeerbaar product, maar is afhankelijk van menselijke autorisatie om producten uit te rollen, zodat teams kunnen beslissen wat er moet worden gelanceerd en wanneer. Hierdoor kunnen ontwikkelaars de applicatie blijven verfijnen voordat deze aan de eindgebruiker wordt overgedragen.

Wat is continue implementatie?

Continue implementatie is vergelijkbaar met continue levering, zozeer zelfs dat deze soms door elkaar worden gebruikt en worden weergegeven met dezelfde afkorting (CD). Het grote verschil tussen continue implementatie is wie de software daadwerkelijk implementeert. In plaats van menselijke autorisatie te vereisen om een product te lanceren, stuurt continue implementatie elke wijziging via een geautomatiseerde pipeline om te komen tot een werkende versie, die vervolgens onmiddellijk in productie wordt genomen. Er is geen blokkering voor een handmatige goedkeuringscyclus, wat betekent dat de code zelf voldoende moet worden getest voordat deze in productie kan gaan.

Waarom is een CI/CD-pipeline belangrijk?

Zowel CI als CD zijn essentieel voor moderne DevOps en helpen Agile-methodologieën te ondersteunen. Een effectieve CI/CD-pipeline brengt daarom verschillende voordelen met zich mee:

  • Duidelijkere processen
    De systematische CI/CD-benadering geeft duidelijk elke stap binnen de pipeline weer, met een gedetailleerd overzicht van wat er precies moet worden gedaan om een project goed te laten verlopen van de conceptie tot aan de afronding.
  • Code van hogere kwaliteit
    Kleine, incrementele wijzigingen zijn gemakkelijker te beoordelen op kwaliteit en effectiviteit. Ook eventuele problemen in de code zijn veel duidelijker zichtbaar en kunnen eerder in het proces worden opgelost. Dit betekent betere code in het hele project.
  • Eenvoudige toegang
    Met wijzigingen die automatisch worden opgeslagen in een centrale opslagplaats, hebben belanghebbenden, QA en andere geautoriseerde teams en personen rechtstreeks toegang tot elke versie van het product, inclusief de meest recente release.
  • Betrouwbaar versiebeheer
    In het geval dat een probleem met de code niet eenvoudig kan worden opgelost, kan het nodig zijn om terug te keren naar een eerdere versie. Effectieve procedures voor versiebeheer zorgen ervoor dat dit met zo min mogelijk gedoe kan.
  • Snellere feedback
    Via de CI/CD-pipeline kunnen gebruikers en testers vrijwel direct feedback geven en de pipeline stelt ontwikkelingsteams in staat om net zo snel op die feedback te reageren.
  • Kortere testcycli
    Bij traditionele ontwikkeling zou de waarde van de code van volledige producten steeds opnieuw samen moeten worden getest, wat leidt tot lange, complexe testcycli. Met kleinere hoeveelheden code die stapsgewijs in een CI/CD-pipeline worden geïntroduceerd, is dit geen probleem meer.
  • Flexibelere ontwikkeling
    Met CI/CD-pipelines kunnen ontwikkelingsteams onmiddellijk inspelen op de behoeften van hun organisatie en de koers van lopende projecten wijzigen wanneer dat nodig is. Dankzij de verbeterde reactiesnelheid bij ontwikkeling profiteren bedrijven van de voordelen van krachtige, gespecialiseerde softwareoplossingen precies wanneer ze die nodig hebben.
Welke stappen moeten worden gevolgd om een CI/CD-pipeline te realiseren?

CI/CD vormt een verschuiving in zowel cultuur als procedures binnen een bedrijf. Als zodanig kunnen de specifieke stappen in een CI/CD verschillen van organisatie tot organisatie. Toch hebben ze de neiging om een eenvoudige, uniforme structuur te volgen:

Plannen

De eerste fase van de CI/CD-pipeline omvat al het voorwerk dat bij het conceptualiseren van een nieuwe applicatie komt kijken. Project-/productmanagers verzamelen eisen van klanten en belanghebbenden, stellen een roadmap voor het project op en creëren een backlog van noodzakelijke taken. Deze fase omvat ook het integreren van Agile-beheertools (zoals Scrum en Kanban) in het lopende proces.

Ontwikkelen

De ontwikkelingsfase is gebaseerd op vereenvoudigde codering (een belangrijk principe van Agile) en snelle feedback. Met behulp van principes voor continue ontwikkeling, en met inbegrip van beveiliging in een vroeg stadium van het proces, wordt code voortdurend gevalideerd om de juistheid ervan te garanderen.

Bouwen

De bouwfase gaat verder vanaf de ontwikkeling en is afhankelijk van teams die in korte iteraties werken om runnable instances van het product te creëren. Alle problemen die verhinderen dat een product de bouwfase passeert, moeten onmiddellijk worden aangepakt.

Test

In deze fase worden geautomatiseerde tests uitgevoerd om ervoor te zorgen dat de code naar behoren functioneert. De testfase moet voorkomen dat de klant te maken krijgt met bugs en moet snel feedback van ontwikkelaars opleveren om ze te helpen pijnpunten te isoleren en op te lossen voordat deze kunnen uitgroeien tot echte problemen. Grondigere tests van CI/CD-pipelines kunnen zich richten op het scannen op beveiligingslekken, iets wat vaak DevSecOps wordt genoemd.

Inzetten

Met testgevalideerde code kan het project nu naar een implementatieomgeving worden verzonden. Dit zijn meestal staging-omgevingen waar de code kan worden onderworpen aan extra handmatige tests en beoordelingen, waarbij goedgekeurde wijzigingen automatisch naar de productie worden verzonden.

Uitvoeren

Zodra de applicatie is geïmplementeerd en in productie is genomen, wordt deze nauwlettend bewaakt om trends en potentiële problemen te signaleren. Dit is vaak geïntegreerd in de operationele mogelijkheden van de applicatie en geeft informatie over toekomstige updates.

In het kader van de continue benadering van de ontwikkeling vinden veel van deze fasen tegelijkertijd plaats en kan code meerdere fasen doorlopen terwijl de toepassing wordt verfijnd en verbeterd.

Hoe is te zien of een pipeline efficiënt is?

Omdat organisaties zoveel vrijheid hebben bij het creëren van hun eigen CI/CD-pipelines, kunnen sommige effectiever zijn dan andere. Efficiënte pipelines hebben de volgende kwaliteiten:

Snelheid

De snelheid van de pipeline hangt af van een paar factoren: Hoe lang duurt het om een nieuwe pipeline te bouwen? Hoe lang duurt het om een applicatie te bouwen, te testen en te implementeren? Hoe snel wordt feedback ontvangen? Kan de pipeline effectief worden geschaald wanneer dat nodig is? Snelheid is sterk afhankelijk van het stroomlijnen van processen, het implementeren van effectieve automatisering en het vermijden van knelpunten.

Betrouwbaarheid

Een groot voordeel van automatisering is dat het voorspelbaar is; bij dezelfde input zou het altijd dezelfde output moeten produceren. Onbetrouwbare pipelines gaan vaak runtime-oscillaties vertonen en storten in wanneer technologiestacks veranderen of extra teams of projecten worden geïntroduceerd.

Nauwkeurigheid

Het einddoel van de CI/CD-pipeline is het volledig en nauwkeurig kunnen automatiseren en visualiseren van het proces van softwarelevering, van begin tot eind. Als dit niet lukt en als de pipeline sterk afhankelijk is van handmatige taken, nemen de levertijden en kosten uiteraard toe.

Prijzen voor ServiceNow DevOps Bekijk de prijzen voor ServiceNow DevOps. Ga voor een snellere aanpak zonder risico en voorkom frictie tussen IT-activiteiten en -ontwikkeling. Bekijk prijzen
ServiceNow voor effectieve CI/CD-pipelines

Hoewel een effectieve CI/CD-pipeline een reeks voordelen biedt, kan het opbouwen van een compleet nieuw proces lastig en complex zijn. In grote organisaties kan dit leiden tot problemen met consistentie en zichtbaarheid in teams die wellicht verschillende benaderingen hebben ontwikkeld. ServiceNow kan helpen door het ServiceNow AI Platform te koppelen aan gemeenschappelijke Bronbesturing- en CI/CD-oplossingen en inzichten te bieden op basis van overige informatie die al beschikbaar is in ServiceNow, zoals servicedefinities en operationele informatie. ServiceNow ondersteunt ook het gebruik van gemeenschappelijke Bronbesturing- en CI/CD-oplossingen voor het toepassen van DevOps op de ontwikkeling van ServiceNow-apps op het ServiceNow AI Platform.

Bronbesturing en CI/CD bieden de tools en functionaliteit om te zorgen voor een snellere, grootschalige app-ontwikkeling. Maak gebruik van ingebouwde ServiceNow-integraties voor de tools die ontwikkelaars het meest gebruiken om codewijzigingen bij meerdere ontwikkelaars en teams effectief te beheren. Voeg krachtige automatisering toe aan governanceprocessen om handmatige goedkeuringen van wijzigingsverzoeken te vervangen en projecten sneller en met minder fouten door het CI/CD-platform te voeren. Verzamel eerder en vaker feedback en koppel informatie binnen de pipeline, voor een snellere levering van applicaties die voldoet aan essentiële vereisten. ServiceNow maakt het allemaal mogelijk.

Bied eindgebruikers toepassingen waar ze op kunnen vertrouwen, met Source Control- en CI/CD Value Stream Management-oplossingen van ServiceNow.

Mogelijkheden die meegroeien met je bedrijf

Vergroot het succes van DevOps binnen de hele onderneming. Neem het risico om snel te gaan en beperk de wrijving tussen IT-activiteiten en -ontwikkeling.

Download DevOps Contact
Resources Artikelen Wat is ServiceNow? Wat is DevOps? Wat is Kubernetes? Onderzoeksrapporten Het ServiceNow AI Platform uitbreiden met DevOps IDC Agility Assessment: Vergelijk je onderneming Bedrijfswaarde van ServiceNow-serviceactiviteiten Datasheets ITSM Pro: DevOps Change Velocity Wijzigingsbeheer Verzoekbeheer E-books Innovatie stimuleren en de snelheid van IT verbeteren ITIL 4 uitgelegd in 10 minuten Ga snel live met ITSM Whitepapers Inleiding voor Enterprise DevOps Platform DevOps, Observability en AIOps met elkaar verbinden Advanced High Availability-architectuur