Jenkins est le serveur d’intégration et de déploiement continu open-source le plus utilisé. Il automatise l’ensemble du cycle build → test → analyse → package → déploiement via des pipelines déclaratifs (Jenkinsfile).
Architecture
Notes détaillées
Note Contenu Composants Jenkins Controller, Agents, Jobs, Plugins, Executors, JENKINS_HOME Agents et nœuds SSH, JNLP, Docker, Kubernetes, EC2 — labels, configuration, scaling
Pipeline
Notes détaillées
Note Contenu Jenkinsfile déclaratif agent, environment, options, parameters, stages, post, variablesDirectives essentielles when, triggers, input, parallel, stash, retry, timeoutShared Libraries vars/, src/, resources/, @Library, tests avec JenkinsPipelineUnitBonnes pratiques Pipeline Sécurité, performance, organisation, fiabilité
Administration
Notes détaillées
Note Contenu Installation et configuration Docker, Helm, JCasC, configuration sécurité initiale Plugins essentiels Pipeline, SCM, Kubernetes, Qualité, Notifications, Monitoring Triggers et notifications Webhooks, Poll SCM, Cron, Slack, Email, PagerDuty Credentials et sécurité Types, withCredentials, Role Strategy, Vault, JCasC
Déploiement avancé
Concepts clés
Terme Définition Controller Cerveau Jenkins — orchestre, stocke la config, distribue les builds Agent / Node Machine qui exécute les builds (SSH, Docker, K8s Pod…) Executor Thread de build sur un agent Job / Pipeline Unité de travail — décrit dans un Jenkinsfile Release / Build Instance d’exécution d’un job Credentials Store Coffre-fort chiffré pour les secrets JCasC Jenkins Configuration as Code — config reproductible en YAML Shared Library Bibliothèque Groovy partagée entre plusieurs pipelines