CI/CD

Jenkins

Jenkins est le serveur d'automatisation open-source de reference pour l'integration et la livraison continues. Il orchestre la com…

Jenkins est le serveur d'automatisation open-source de reference pour l'integration et la livraison continues. Il orchestre la compilation, les tests, le packaging et le deploiement via des pipelines declaratifs ou scriptes ecrits en Groovy (Jenkinsfile) et versionnes avec le code. Son ecosysteme de 1800+ plugins l'integre a Git, Docker, Kubernetes, les outils de qualite et les cloud providers. Les agents distribues permettent d'executer des milliers de jobs en parallele, et les Shared Libraries factorisent la logique de pipeline a l'echelle d'une organisation — un standard dans les environnements bancaires haute disponibilite.

Cycle de livraison : Local → GitHub → CI/CD → Cloud

Local

GitHub

CI/CD

VPS

Articles approfondis

Resume des commandes essentielles

java -jar jenkins.war --httpPort=8080Lancer Jenkins en standalone
jenkins-plugin-cli --plugins workflow-aggregator git docker-workflowInstaller des plugins en CLI / Dockerfile
java -jar jenkins-cli.jar -s http://host -auth user:token build JOB -f -vDeclencher un job et suivre la sortie
java -jar jenkins-cli.jar safe-restartRedemarrage propre apres fin des jobs
curl -X POST http://host/job/JOB/build --user user:tokenTrigger via API REST
curl http://host/job/JOB/lastBuild/api/jsonEtat du dernier build (JSON)
pipeline { agent any; stages { stage('Build'){ steps { sh 'mvn -B package' } } } }Squelette de pipeline declaratif
sh 'docker build -t reg/app:$BUILD_NUMBER .'Etape shell de build d'image
withCredentials([usernamePassword(credentialsId:'reg', ...)]) { ... }Injection securisee de secrets
library 'shared-lib@main'Charger une Shared Library versionnee
input message: 'Deployer en PROD ?', submitter: 'release-mgr'Gate d'approbation manuelle
post { failure { mail to:'ops@x', subject:'KO' } }Notification conditionnelle
parallel(unit:{ sh 'mvn test' }, lint:{ sh 'mvn verify' })Stages paralleles
java -jar jenkins-cli.jar list-jobsLister les jobs configures
Jenkins — role, commandes & 5 articles | Idriss Kriouile