- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
De cursus Continuous Integration met Jenkins is bedoeld voor developers, testers en beheerders die de nieuwste versie van Jenkins willen gebruiken voor het opzetten van een continuous integration pipeline.
Ervaring met IT projecten in een DevOps omgeving met de Agile Development methodology en Scrum is bevorderlijk voor de begripsvorming maar niet strict noodzakelijk.
De theorie wordt besproken aan de hand van presentaties en demos en wordt afgewisseld met oefeningen. Demo projecten dienen te verheldering van de behandelde concepten. De cursus gaat in laatste versie van Jenkins versie 2. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Continuous Integration met Jenkins.
In de cursus Continuous Integration met Jenkins leren de deelnemers hoe de nieuwste versie van Jenkins kan worden gebruikt voor het het opzetten van een continuous integration en continuous delivery (CI/CD) pipeline. CI/CD is een best practice in agile development waarbij verandering in de code van een software project automatisch worden getest en geïntegreerd.
CI/CD is een onderdeel van het DevOps process waarbij developers code veranderingen met regelmaat inchecken in een centrale repository, waarna tests en builds automatisch worden uitgevoerd. De tools verzekeren dat de nieuwe code correct is alvorens deze wordt geïntegreerd in het software project.
De cursus gaat van start de behandeling van de versie control systemen en build tools die door Jenkins worden ondersteund. Ook wordt ingegaan op Jenkins plugins, de Jenkins DSL en het Jenkins file.
Vervolgens komt aan de hand van de Jenkins GUI en het Jenkins Dashboard aan de orde hoe je in Jenkins declarative en scripted pipelines kunt opzetten. De rol van Masters en Nodes, Agents en Executors worden daarbij besproken en hun samenhang uitgelegd.
Aandacht wordt ook besteed aan het triggeren van jobs. Jobs kunnen periodiek of met input van de user aan de hand van parameters worden getriggered. Hierbij worden ook retries, timeouts, conditional en parallel execution besproken.
Jenkins ondersteunt diverse project types zoals Maven of Gradle projects, Freestyle projects, Pipeline en GitHub projects. De opzet van dergelijke project wordt uitgelegd evenals multibranch en external projects.
Tenslotte komen diverse rapportage mogelijkheden vanuit Jenkins projecten aan de orde en wordt besproken hoe Jenkins en container technology zoals Docker kunnen samenwerken.
Module 1 : Jenkins Intro |
Module 2 : Creating Pipelines |
Module 3 : Pipeline Execution |
What is Jenkins? Continuous Integration Hudson Predecessor Version Control Git, CVS and BitBucket Build Tool Support Distributed Builds Jenkins Plugins Installing Jenkins The Jenkinsfile Jenkins DSL Groovy Scripts |
Declarative Pipelines Jenkins GUI Jenkins Dashboard Blue Ocean Pipeline Structure Pipeline Development Scripted Pipelines Declarative Pipelines Masters and Nodes, Agents and Executors Snippet Generator Running Pipelines |
Triggering Jobs Build After Build Periodically Cron Syntax Poll SCM User Input Parameters Flow Control Options timeout and retry Conditional Execution Parallel Execution Handling Concurrency |
Module 4 : Project Types |
Module 5 : Reports |
Module 6 : Integrating Containers |
Freestyle Projects Maven Projects Discard Old Builds GitHub Projects Throttle Builds Build Environment Post-Build Actions Pipeline Projects External Project Types Multiconfigurations Multibranch Projects Branch Indexing |
Notifications Jenkins URL Email Notifications Build Results Collaboration Services Webhooks in Slack Default Notifications HipChat Plugin HTML Reports Publishing Reports Integrating Artifacts Conversions |
Docker in Pipeline Configured as a Cloud Docker Images as Agents SSH Credentials Container Settings Launching Options Persistent Docker Nodes Global Variables withDockerRegistry Pipeline inside Method Docker via Shell Other Interfaces |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.