Continuous Integration met Jenkins
Lesgeld
DevOps Process
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.
Jenkins Configuratie
De cursus gaat van start de behandeling van de versie control systemen en build tools die door Jenkins worden ondersteund. Ook wordt ingeg
DevOps Process
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.
Jenkins Configuratie
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.
Dashboards
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.
Job Activering
Aandacht wordt ook besteed aan de activering van jobs. Jobs kunnen periodiek of met input van de user aan de hand van parameters worden geactiveerd. Hierbij worden ook retries, timeouts, conditional en parallel execution besproken.
Project Types
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.
Rapportages
Tenslotte komen diverse rapportage mogelijkheden vanuit Jenkins projecten aan de orde en wordt besproken hoe Jenkins en container technology zoals Docker kunnen samenwerken.
Doelgroep Cursus Continuous Integration met Jenkins
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.
Voorkennis Cursus Continuous Integration met Jenkins
Ervaring met IT projecten in een DevOps omgeving met de Agile Development methodology en Scrum is bevorderlijk voor de begripsvorming maar niet strict noodzakelijk.
Uitvoering Training Continuous Integration met Jenkins
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.
Certificering Continuous Integration met Jenkins
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Continuous Integration met Jenkins.
Modules
Module 1 : Jenkins Intro
- 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
Module 2 : Creating Pipelines
- 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
Module 3 : Pipeline Execution
- 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
- 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
Module 5 : Reports
- Notifications
- Jenkins URL
- Email Notifications
- Build Results
- Collaboration Services
- Webhooks in Slack
- Default Notifications
- HipChat Plugin
- HTML Reports
- Publishing Reports
- Integrating Artifacts
- Conversions
Module 6 : Integrating Containers
- 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