O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

CI-Jenkins.pptx

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 25 Anúncio

Mais Conteúdo rRelacionado

Semelhante a CI-Jenkins.pptx (20)

Mais recentes (20)

Anúncio

CI-Jenkins.pptx

  1. 1. Jenkins Réalisé par: BENMBARKA Mohammed ERGUIBI Mohamed Said HACHMI Saad
  2. 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. 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. 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. 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. 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 »
  7. 7. Qui utilise Jenkins
  8. 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
  9. 9. Configuration des diverses phases
  10. 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. 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. 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. 13. Gestionnaire de sources • Différents types des sources (Git, Subversion, CVS Possibilité d’ajouter des comportements
  14. 14. Phase de construction • Nombreux outils de build pour plusieurs langages • Java  Maven, Gradle, Ant • .Net  MSBuild • iOS • Scripts Shell
  15. 15. Phase Post-Build • Nombreux mécanisme de notification  Slack  SMS  Email
  16. 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
  17. 17. Résultat du build
  18. 18. Dashboard Historique TU / Coverage Historique Des builds Accés Configuration / Modification
  19. 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. 20. Rapport des Tests Unitaires Progression du passage des TU Etat des TU par packages / par TU
  21. 21. Derniers changements
  22. 22. Journal d’execution Permet de facilement déterminer les problèmes lors de la compilation et de corriger
  23. 23. Couverture de code avec JaCoCo Couverture par ligne Statistiques par classes
  24. 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. 25. A vous de jouer !

×