Docker en de basis van DevOps · Les

Continuous Integration uitgelegd

Begrijp Continuous Integration (CI) en de rol ervan bij het automatiseren van het samenvoegen en testen van code.

Les 2 van 411 stappen

Continuous Integration uitgelegd is een gratis Docker en de basis van DevOps-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Docker en de basis van DevOps. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Docker en de basis van DevOps bevat in totaal 4 lessen.

Wat is continue integratie?

Welkom bij continue integratie (CI)! Dit is een belangrijke werkwijze in moderne softwareontwikkeling.

Bij CI worden codewijzigingen van alle ontwikkelaars regelmatig samengevoegd in een centrale repository. In plaats van weken te wachten, vinden deze samenvoegingen meerdere keren per dag plaats.

Elke samenvoeging wordt vervolgens gecontroleerd met een geautomatiseerde build en geautomatiseerde tests. Zo kunnen teams problemen snel vinden en oplossen.

Continuous Integration uitgelegd — illustratie 1

Het probleem dat CI oplost

Stel je een team ontwikkelaars voor dat aan een project werkt. Als ze hun code maar één keer per week samenvoegen, kunnen de conflicten enorm zijn! Dit wordt vaak 'integratiehel' genoemd.

  • Handmatig samenvoegen: Tijdrovend en foutgevoelig.
  • Late foutdetectie: Problemen die pas na een lange ontwikkelcyclus worden gevonden, zijn moeilijker op te lossen.
  • Trage feedback: Ontwikkelaars weten pas veel later of hun wijzigingen iets kapot hebben gemaakt.

CI probeert deze problemen te voorkomen door integratie tot een continu, geautomatiseerd proces te maken.

Kernprincipes van CI

Continue integratie is gebaseerd op enkele fundamentele ideeën:

  • Gebruik versiebeheer: Alle code staat in een gedeelde repository, zoals Git.
  • Regelmatig committen: Ontwikkelaars committen vaak kleine wijzigingen, meestal meerdere keren per dag.
  • Geautomatiseerde build: Elke commit start een geautomatiseerd proces om de code te compileren.
  • Geautomatiseerde tests: Na het bouwen wordt een reeks geautomatiseerde tests uitgevoerd om de werking te controleren.
  • Directe feedback: Ontwikkelaars krijgen snel een melding als de build of tests mislukken.

Geautomatiseerd testen is essentieel

Het onderdeel 'geautomatiseerde tests' van CI is cruciaal. Zonder goede tests kan CI problemen niet effectief opsporen.

Deze tests omvatten meestal:

  • Unittests: Testen afzonderlijke onderdelen of functies.
  • Integratietests: Controleren of verschillende onderdelen van de applicatie correct samenwerken.
  • End-to-endtests: Simuleren gebruikersscenario's om de volledige applicatiestroom te testen.

Snelle, betrouwbare tests zijn essentieel voor korte feedbackcycli in CI.

Een typische CI-werkstroom

Zo verloopt een typische CI-cyclus:

  1. Een ontwikkelaar schrijft code en commit deze naar het versiebeheersysteem.
  2. De ontwikkelaar pusht de wijzigingen naar de gedeelde repository.
  3. Een CI-server, zoals Jenkins of GitLab CI, detecteert de nieuwe commit.
  4. De CI-server haalt de nieuwste code op, compileert deze en voert alle geautomatiseerde tests uit.
  5. Als alles slaagt, krijgt de build de status 'groen'. Zo niet, dan is de status 'rood'.
  6. Ontwikkelaars krijgen een melding van de buildstatus, zodat ze indien nodig snel oplossingen kunnen doorvoeren.

De CI-server in actie

Een CI-server is de motor van continue integratie. Het is een speciale tool die:

  • Je coderepository controleert op nieuwe wijzigingen.
  • Automatisch een buildproces start wanneer wijzigingen worden gedetecteerd.
  • Vooraf gedefinieerde scripts uitvoert om code te compileren, tests uit te voeren en andere controles te doen.
  • Testresultaten verzamelt en rapporten levert.
  • Ontwikkelaars informeert over de buildstatus, geslaagd of mislukt.

Populaire CI-servers zijn Jenkins, GitLab CI, GitHub Actions en Travis CI.

Een CI-buildscript simuleren

Een CI-server voert een reeks commando's uit die in een buildscript zijn gedefinieerd. Hier is een eenvoudig Java-programma dat deze stappen simuleert. In een echte CI-pijplijn zouden dit daadwerkelijke commando's zijn, zoals git pull, mvn clean install en mvn test.

public class CIProcess {
  public static void main(String[] args) {
    System.out.println("--- Starting CI Build ---");
    System.out.println("1. Checking out latest code...");
    System.out.println("   (Simulating git pull)");
    System.out.println("2. Building application...");
    System.out.println("   (Simulating 'mvn clean install')");
    System.out.println("3. Running automated tests...");
    System.out.println("   (Simulating 'mvn test')");
    System.out.println("4. Build and tests passed!");
    System.out.println("--- CI Build Finished ---");
  }
}

Voordelen waar je blij van wordt

Continuous Integration implementeren biedt ontwikkelingsteams aanzienlijke voordelen:

  • Fouten vroeg opsporen: Problemen worden vrijwel onmiddellijk gevonden en opgelost nadat ze zijn geïntroduceerd.
  • Snellere feedbacklussen: Ontwikkelaars weten snel of hun wijzigingen iets kapot hebben gemaakt.
  • Minder integratierisico's: Regelmatige, kleine samenvoegingen zijn veel eenvoudiger te beheren dan grote, onregelmatige samenvoegingen.
  • Betere codekwaliteit: Consistent testen en directe feedback stimuleren betere programmeerpraktijken.
  • Snellere releasecycli: Een stabiele, continu geteste codebase is altijd klaar voor implementatie.

Best practices voor CI

Haal het maximale uit Continuous Integration door deze best practices te volgen:

  • Commit klein en vaak: Breng regelmatig kleine wijzigingen aan in de codebase.
  • Houd de build groen: Los fouten in de build onmiddellijk op; commit niet als de build rood is.
  • Schrijf goede tests: Zorg dat je geautomatiseerde tests uitgebreid, snel en betrouwbaar zijn.
  • Snelle builds: Optimaliseer je buildproces zodat het snel is voltooid.
  • Maak de build niet kapot: Commit nooit code waardoor de build mislukt. Gebeurt dat toch, los het dan zo snel mogelijk op.

Snelle CI-controle

Welke van de volgende opties zijn belangrijke voordelen van het implementeren van Continuous Integration?

Samenvatting van Continuous Integration

Je hebt nu geleerd wat Continuous Integration is!

CI is een ontwikkelpraktijk waarbij ontwikkelaars hun code regelmatig samenvoegen in een centrale repository. Elke samenvoeging activeert daarbij automatisch een build- en testproces. Zo kunnen teams fouten vroeg opsporen, snel feedback krijgen en een hoogwaardige, implementeerbare codebase onderhouden.

Het is een fundamentele praktijk voor elke succesvolle DevOps-pipeline. Dit leidt tot stabielere software en tevredenere ontwikkelingsteams. Hierna bekijken we Continuous Delivery en Continuous Deployment!

Gratis beginnen

Leer Docker en de basis van DevOps met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Continuous Integration uitgelegd” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Docker en de basis van DevOps, waaronder “Continuous Integration uitgelegd”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Docker en de basis van DevOps bevat in totaal 4 lessen.

Wat leer ik in “Continuous Integration uitgelegd”?

Begrijp Continuous Integration (CI) en de rol ervan bij het automatiseren van het samenvoegen en testen van code. Je oefent met Docker en de basis van DevOps door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Docker en de basis van DevOps te beginnen?

Ervaring vooraf is niet nodig. Docker en de basis van DevOps op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Continuous Integration uitgelegd”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Docker en de basis van DevOps?

Ja. Elke les over Docker en de basis van DevOps bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. De DevOps-mindset
  2. Continuous Integration uitgelegd
  3. Continuous Delivery en Deployment
  4. Basisprincipes van Infrastructure as Code
← Terug naar Docker en de basis van DevOps