Jenkins suit une architecture Controller/Agent : le Controller orchestre et distribue, les Agents exécutent les builds. Cette séparation permet le scaling horizontal et l’isolation des environnements.


Notes détaillées

NoteContenu
Composants JenkinsController, Agents, Jobs, Plugins, Build Queue, Executors, JENKINS_HOME
Agents et nœudsTypes (SSH, JNLP, Docker, Kubernetes, EC2), labels, configuration, scaling

Vue d’ensemble

                    ┌─────────────────────────────┐
                    │        Controller            │
                    │  - Interface Web (:8080)     │
                    │  - API REST                  │
                    │  - Build Queue               │
                    │  - Credentials Store         │
                    │  - JENKINS_HOME              │
                    └──────────┬──────────────────┘
                               │ distribue les builds
              ┌────────────────┼────────────────┐
              ↓                ↓                ↓
        Agent Linux      Agent Docker      Agent K8s Pod
        (SSH, persist.)  (éphémère)        (éphémère)
        label: linux     label: docker     label: kubernetes

Types de jobs

TypeRecommandation
FreestyleHéritage — à éviter pour les nouveaux projets
PipelineStandard — Jenkinsfile versionné dans le code
Multibranch PipelineRecommandé — pipeline auto par branche Git
Organization FolderPour les grandes orgs — scanne tout GitHub/GitLab

En relation avec