SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Jenkins
Réalisé par:
BENMBARKA Mohammed
ERGUIBI Mohamed Said
HACHMI Saad
Historique
• En 2004, apparition d’Hudson, solution opensource d’intégration
continue développée par Sun MicroSystems
• Suite à des problèmes d’utilisation du nom Hudson par Oracle, en
novembre 2010, proposition de renommer le projet en Jenkins
• En février 2011, Oracle décide de continuer à développer Hudson.
Jenkins est considéré comme un fork d’Hudson
• Aujourd’hui, Jenkins est le seul survivant !
Qu’est ce que Jenkins ?
• Solution OpenSource CI/CD écrite en Java et permettant :
 D’automatiser les builds et les tests par configuration ou par script
 De monitorer les phases de construction des projets
 De construire dans des conteneurs docker ou sur des instances distantes
(master / salve)
 De pouvoir obtenir facilement les binaires des dernières versions stables
• Solution non spécifique à des projets Java. Possibilité d’utiliser Jenkins
avec de nombreux langages (javascript, php, .net, c/c++, swift…)
Qu’est ce que Jenkins ?
• Des centaines de plugins disponibles.
• Facilement extensible
• Basé sur RBAC. Possibilité de définir finement des droits d’accès par
projet
Quelques termes
• Master
 Serveur principal de Jenkins coordonnant les processus tels que le stockage de la
configuration, la gestion des plugins et l’affichage de l’interface Utilisateur
• Project (Ex : Job)
 Ensemble des tâches définies par l’utilisateur pour construire une partie d’un logiciel
• Pipeline
 Modèle permettant de réaliser un pipeline de déploiement continue
• Executor
 Processus exécutant un projet ou un pipeline
Quelques termes
• Step
 Ensemble d’instructions dans une étape « stage »
• Stage
 Etape dans un pipeline (ex : Build, Test, Deploy) composée de plusieurs
« Steps »
• Agent
 Machine ou conteneur utilisé par le « master » pour exécuter les étapes
d’un « projet »
Qui utilise Jenkins
POURQUOI UTILISER JENKINS ?
• Retour immédiat sur les builds cassés
• Pas de construction à partir de machines de développement et de
copie manuelle de fichiers
• Déploiement automatisé
• Exécution automatisée des tests et retour d'information
Configuration des diverses
phases
Installation
• Récupération du war https://jenkins.io/download/
• Déploiement sur un tomcat ou directement avec la commande java
(PS : possibilité de spécifier le port --httpPort=8081)
Nouveau projet
• Propose de nombreux types de
projet
 Free style
 Construction d’un projet Maven
 Pipeline et multibranche pipeline
(les plus utilisés pour des projets
Git)
• Possibilité de cloner un projet
existant
Etapes de construction
Récupération des
sources
Déclencheurs du
build
Environnement du
build
Scripts pour le
build
Actions post-build
Quel SCM ? • Déclencheur distant
(hook github, gitlab)
• Suite à un autre build
• Périodiquement
• Variables
d’environnement
• Configuration Sonar
• Règles de nettoyage
du workspace
• Scripts Maven,
gradle, ant
• Scripts shell
• Publication des
rapports
• Envoi de notifications
(Email..)
• Publication de la
javadoc
• …
Gestionnaire de sources
• Différents types des
sources (Git,
Subversion, CVS
Possibilité d’ajouter des
comportements
Phase de construction
• Nombreux outils de build pour
plusieurs langages
• Java
 Maven, Gradle, Ant
• .Net
 MSBuild
• iOS
• Scripts Shell
Phase Post-Build
• Nombreux mécanisme de notification
 Slack
 SMS
 Email
Phase Post Build
• Nombreux types de rapport
publiable
 Rapports sur l’analyse
statistique du code (
Checkstyle, PMD, Findbug,
…)
 Rapport d’exécution et de
couverture des tests
unitaires (Junit, Cobertura,
TestNG, JaCoCo…)
 Publication de la JavaDoc
Résultat du build
Dashboard
Historique TU / Coverage
Historique
Des builds
Accés
Configuration /
Modification
Vision de l’espace de travail
• Possibilité de voir l’espace de
travail
Conseil : il est préférable de le supprimer en
phase Post Build
=>Risque d’occuper beaucoup d’espace
(Exemple : node_modules > 400 Mo par
build)
Rapport des Tests Unitaires
Progression du passage
des TU
Etat des TU par packages
/ par TU
Derniers changements
Journal d’execution
Permet de facilement déterminer
les problèmes lors de la compilation
et de corriger
Couverture de code avec JaCoCo
Couverture par ligne
Statistiques par classes
Possibilité de paramétrer le build
• Nombreuses extensions
Ex : Récupération des
branches / tags Git / SVN
• Définition de liste de
valeur, checkbox, saisie
manuelle
• Paramètres exploitable
dans les scripts de build
A vous de jouer !

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsEric Hogue
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep DiveWill Kinard
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueVincent Composieux
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaEdureka!
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To JenkinsKnoldus Inc.
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionSparkbit
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CDHoang Le
 
Présentation du DevOps
Présentation du DevOpsPrésentation du DevOps
Présentation du DevOpsCyrielle Orban
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Edureka!
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 

Was ist angesagt? (20)

Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec Jenkins
 
Docker Containers Deep Dive
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement Continue
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Jenkins Overview
Jenkins OverviewJenkins Overview
Jenkins Overview
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
 
Jenkins
JenkinsJenkins
Jenkins
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Gitlab ci-cd
Gitlab ci-cdGitlab ci-cd
Gitlab ci-cd
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Présentation du DevOps
Présentation du DevOpsPrésentation du DevOps
Présentation du DevOps
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 

Ähnlich wie CI-Jenkins.pptx

Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfqsdqsd4
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxAnisSalhi3
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Julien Dubois
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsFactoVia
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsAZUG FR
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaCédric Leblond
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...TelecomValley
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache MavenArnaud Héritier
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsZenikaOuest
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924Gregory Boissinot
 
Play Framework
Play FrameworkPlay Framework
Play FrameworkArmaklan
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Antoine Rey
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueAZUG FR
 

Ähnlich wie CI-Jenkins.pptx (20)

Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Présentation1
Présentation1Présentation1
Présentation1
 
Octo Maven.pdf
Octo Maven.pdfOcto Maven.pdf
Octo Maven.pdf
 
Migrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds JavaMigrer de Jenkins vers Azure DevOps les Builds Java
Migrer de Jenkins vers Azure DevOps les Builds Java
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 
Universitélang scala tools
Universitélang scala toolsUniversitélang scala tools
Universitélang scala tools
 
What's Next Replay - IC / Jenkins
What's Next Replay - IC / JenkinsWhat's Next Replay - IC / Jenkins
What's Next Replay - IC / Jenkins
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 

Kürzlich hochgeladen

Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...France Travail
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformersbahija babzine
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentationbahija babzine
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attalcontact Elabe
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023France Travail
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxHadJer61
 

Kürzlich hochgeladen (6)

Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
Montant moyen du droit d'allocation chômage versé aux demandeurs d'emploi ind...
 
Bidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from TransformersBidirectional Encoder Representations from Transformers
Bidirectional Encoder Representations from Transformers
 
To_understand_transformers_together presentation
To_understand_transformers_together presentationTo_understand_transformers_together presentation
To_understand_transformers_together presentation
 
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel AttalELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
ELABE BFMTV L'Opinion en direct - Les Français et les 100 jours de Gabriel Attal
 
Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023Le contrôle de la recherche d'emploi en 2023
Le contrôle de la recherche d'emploi en 2023
 
analyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptxanalyse husseindey AMIROUCHE Abdeslem.pptx
analyse husseindey AMIROUCHE Abdeslem.pptx
 

CI-Jenkins.pptx

  • 2. Historique • En 2004, apparition d’Hudson, solution opensource d’intégration continue développée par Sun MicroSystems • Suite à des problèmes d’utilisation du nom Hudson par Oracle, en novembre 2010, proposition de renommer le projet en Jenkins • En février 2011, Oracle décide de continuer à développer Hudson. Jenkins est considéré comme un fork d’Hudson • Aujourd’hui, Jenkins est le seul survivant !
  • 3. Qu’est ce que Jenkins ? • Solution OpenSource CI/CD écrite en Java et permettant :  D’automatiser les builds et les tests par configuration ou par script  De monitorer les phases de construction des projets  De construire dans des conteneurs docker ou sur des instances distantes (master / salve)  De pouvoir obtenir facilement les binaires des dernières versions stables • Solution non spécifique à des projets Java. Possibilité d’utiliser Jenkins avec de nombreux langages (javascript, php, .net, c/c++, swift…)
  • 4. Qu’est ce que Jenkins ? • Des centaines de plugins disponibles. • Facilement extensible • Basé sur RBAC. Possibilité de définir finement des droits d’accès par projet
  • 5. Quelques termes • Master  Serveur principal de Jenkins coordonnant les processus tels que le stockage de la configuration, la gestion des plugins et l’affichage de l’interface Utilisateur • Project (Ex : Job)  Ensemble des tâches définies par l’utilisateur pour construire une partie d’un logiciel • Pipeline  Modèle permettant de réaliser un pipeline de déploiement continue • Executor  Processus exécutant un projet ou un pipeline
  • 6. Quelques termes • Step  Ensemble d’instructions dans une étape « stage » • Stage  Etape dans un pipeline (ex : Build, Test, Deploy) composée de plusieurs « Steps » • Agent  Machine ou conteneur utilisé par le « master » pour exécuter les étapes d’un « projet »
  • 8. POURQUOI UTILISER JENKINS ? • Retour immédiat sur les builds cassés • Pas de construction à partir de machines de développement et de copie manuelle de fichiers • Déploiement automatisé • Exécution automatisée des tests et retour d'information
  • 10. Installation • Récupération du war https://jenkins.io/download/ • Déploiement sur un tomcat ou directement avec la commande java (PS : possibilité de spécifier le port --httpPort=8081)
  • 11. Nouveau projet • Propose de nombreux types de projet  Free style  Construction d’un projet Maven  Pipeline et multibranche pipeline (les plus utilisés pour des projets Git) • Possibilité de cloner un projet existant
  • 12. Etapes de construction Récupération des sources Déclencheurs du build Environnement du build Scripts pour le build Actions post-build Quel SCM ? • Déclencheur distant (hook github, gitlab) • Suite à un autre build • Périodiquement • Variables d’environnement • Configuration Sonar • Règles de nettoyage du workspace • Scripts Maven, gradle, ant • Scripts shell • Publication des rapports • Envoi de notifications (Email..) • Publication de la javadoc • …
  • 13. Gestionnaire de sources • Différents types des sources (Git, Subversion, CVS Possibilité d’ajouter des comportements
  • 14. Phase de construction • Nombreux outils de build pour plusieurs langages • Java  Maven, Gradle, Ant • .Net  MSBuild • iOS • Scripts Shell
  • 15. Phase Post-Build • Nombreux mécanisme de notification  Slack  SMS  Email
  • 16. Phase Post Build • Nombreux types de rapport publiable  Rapports sur l’analyse statistique du code ( Checkstyle, PMD, Findbug, …)  Rapport d’exécution et de couverture des tests unitaires (Junit, Cobertura, TestNG, JaCoCo…)  Publication de la JavaDoc
  • 18. Dashboard Historique TU / Coverage Historique Des builds Accés Configuration / Modification
  • 19. Vision de l’espace de travail • Possibilité de voir l’espace de travail Conseil : il est préférable de le supprimer en phase Post Build =>Risque d’occuper beaucoup d’espace (Exemple : node_modules > 400 Mo par build)
  • 20. Rapport des Tests Unitaires Progression du passage des TU Etat des TU par packages / par TU
  • 22. Journal d’execution Permet de facilement déterminer les problèmes lors de la compilation et de corriger
  • 23. Couverture de code avec JaCoCo Couverture par ligne Statistiques par classes
  • 24. Possibilité de paramétrer le build • Nombreuses extensions Ex : Récupération des branches / tags Git / SVN • Définition de liste de valeur, checkbox, saisie manuelle • Paramètres exploitable dans les scripts de build
  • 25. A vous de jouer !