[Kurz] Program kurzu (obsah přednášky/semináře/rekvalifikace/studia) ...
Cíle kurzu Účastníci se mimo jiné naučí:
- Porozumět CI/CD praktikám a jejich hodnotě
- Jakou zvolit úroveň zabezpečení Jenkins pro jejich potřeby
- Vytvářet a konfigurovat Jenkins projekty
- Jak pracovat s Jenkins pluginy a které se vyplatí používat
- Jak volit typ Jenkins jobu metodu verifikace
- CI/CD Pipeline as a code
- Shared Pipeline Libraries
* Účastníci se mimo jiné naučí:
- Porozumět CI/CD praktikám a jejich hodnotě
- Jakou zvolit úroveň zabezpečení Jenkins pro jejich potřeby
- Vytvářet a konfigurovat Jenkins projekty
- Jak pracovat s Jenkins pluginy a které se vyplatí používat
- Jak volit typ Jenkins jobu metodu verifikace
- CI/CD Pipeline as a code
- Shared Pipeline Libraries
Osnova I. Synchronizace pojmů a teorie
- Typy testování
- Repozitáře a SCM
- Continuous Integration a Continuous Delivery (CI/CD)
- Feedback loop
- Security
- Deployment a CD Pipeline
II. Jenkins Folders, Views
- proč organizovat projekty (do složek)
- jak Folders fungují a jak se konfigurují
- typy views a jejich použití
Role-Based Security
- Role Strategy plugin a jeho výhody oproti Matrix-based security
- srovnání s placeným CloudBees RBAC pluginem
Credentials
- typy a pojmenovávání Credentials
- vazba na složky a dědičnost
Jenkins CLI
- co je CLI a jak funguje
- autentizace pro CLI
- příklad použití (vytváření složek a jobů)
REST API
- co je Jenkins API a jak jej používat
- jednoduché příklady použití
Job DSL plugin
- co jsou DSL a groovy
- config.xml a vytváření jobů
- jednoduché přiklady použití
III. Jenkins Pipeline Pipeline
- koncepty
- proč Pipeline a co to je
- definice nových Jenkins pojmů
- anatomie pipeline jobu - pipeline steps
- stage view (tradiční a BlueOcean)
Pipeline DSL
- co je Pipeline as Code DSL a rozdíl oproti JobDSL
- jednoduché příklady (scope, stage, env, approval, parallels, file system)
- podpora pluginů a generátor DSL
- jak pluginy nepodporující pipeline
MultiBranch a Project-based Pipelines
- kdy a proč používat Multi-Branch Pipeline job
- Podobnosti Project-based s JobDSL metodou
Shared Pipeline Libs
- proč používat sdílené knihovny pro pipeline
- příklad implementace nové pipeline funkcionality
Kompletní příklad pro CI/CD
- jak rozlišovat typy branchí
- release joby a deployment joby
Předpoklady účastníka
- znalost teoretických konceptů Jenkins a jeho praktické ovládání (přes UI)
- praktické zkušenosti se skriptováním (Bash, Python, PowerShell, ideálně Groovy)
- praktické ovládání Gitu (příp. SVN)
Pozn. kurz je praktický, laby jsou v cloudu; je třeba pouze internet a browser.