Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Jenkins - Les jeudis de la découverte

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Les vidéos YouTube ne sont plus prises en charge sur SlideShare

Regarder la vidéo sur YouTube

2 5 J U I N 2 0 1 5
J E N K I N S :
I N T É G R AT I O N C O N T I N U E ,
P O U R Q U O I F A I R E
I N T R O D U C T I O N
T O U T L E M O N D E E N P A R L E ,
M A I S …
Prochain SlideShare
Jenkins Workflow
Jenkins Workflow
Chargement dans…3
×

Consultez-les par la suite

1 sur 32 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (20)

Publicité

Similaire à Jenkins - Les jeudis de la découverte (20)

Plus récents (20)

Publicité

Jenkins - Les jeudis de la découverte

  1. 1. 2 5 J U I N 2 0 1 5 J E N K I N S : I N T É G R AT I O N C O N T I N U E , P O U R Q U O I F A I R E
  2. 2. I N T R O D U C T I O N T O U T L E M O N D E E N P A R L E , M A I S …
  3. 3. AVANT JENKINS
  4. 4. APRES JENKINS
  5. 5. Qu'est-ce que Jenkins ? •Écrit en JAVA, initialement développé en 2008 •Actuellement 1057 plugins •N'embarque aucune librairie •Alternative à CruiseControl, Travis, Bamboo Intégration continue : Développement « normal » :
  6. 6. Qu'est-ce que Jenkins ? •Un outil de monitoring de développement
  7. 7. Qu'est-ce que Jenkins ? • Un ordonnanceur de taches automatisables • Objectif ? - Tester rapidement et automatiquement les évolutions/corrections de l'application - Améliorer la qualité du code produit - Automatiser les tâches qui peuvent l'être (test, déploiements etc.) - Minimiser les régressions
  8. 8. Qu'est-ce que Jenkins ne fait pas? • Le café • Traiter les Jiras à votre place • Ecrire les tests à votre place • Relire le code des autres à votre place
  9. 9. Qu'est-ce que Jenkins fait ? • Uniquement ce que vous lui direz de faire • Execution de commande • Enrichissement de Jenkins grace à une banque de plugin • Exploitation de données générées par des librairies système • Dashboard des métriques qualitatives de développement
  10. 10. Processus d'intégration continue
  11. 11. Présentation de l'interface • Préliminaire : installation des librairies système • Gestion des droits/utilisateurs • Gestion des plugins • Présentation d'un projet php intégré dans Jenkins (test, documentation, déploiement continu)
  12. 12. D U C O N C R E T E N F I N U N E D E M O
  13. 13. Configuration • Template php • La source : le code • La fréquence de build • Les possibilités : pre/post build • Les plugins • Le core de la build (ant/build.xml) • Pour aller plus loin: les builds paramétrables
  14. 14. Stratégie de Tests PHPUnit • Quoi tester ? • Les tests unitaires • Les tests fonctionnels (Selenium plugin pour Firefox) • Analyse et code coverage
  15. 15. Déploiement continu • Déploiement sur une plateforme en fonction du résultat de la build • But recherché : - Une plateforme de test à jour - Automatisation du déploiement et des commandes (assetic, cache, esi...) - Minimiser les actions humaines sources d'incertitude voire d'erreurs - Internaliser les process au sein du projet
  16. 16. Feed Back Le bon : - Amélioration de la qualité du code produit - Informations pertinentes sur le code produit - Assurance via les tests - Génération de la documentation du projet durant les builds - Déploiement automatisés et systématique en cas de succés de la build Le mauvais : - Non indépendance des données utilisées - Dépendance à l'architecture réseau existante
  17. 17. Pour aller plus loin • Des tests plus évolués (Behat/Selenium) • Des tests de performance intégrés (BlackFire) • Plus d'infos avec Insight (Sensio) • Des application intégrées au sein d'une VM • Plugger Jenkins avec Jira
  18. 18. E t J e n k i n s a u M o b i l e T O U T L E M O N D E E N P A R L E , M A I S …
  19. 19. A r c h i t e c t u r e
  20. 20. E t a p e 1 - C o m p i l a t i o n 1 - Lancement des Builds 2 - Détecter les problèmes de compilation.
  21. 21. E t a p e 2 - A n a l y s e Qualité de code et Sonar. Principales fonctionnalités : - Mesures qualitatives : couverture et taux de réussite des tests, complexité du code, respect des règles de codage... - Mesures quantitatives : nombre de classes, duplication de code, etc. - Historiques des statistiques - Visualisation du code source, surlignant les violations des règles de codage qui s'y trouvent. - Identification des points faibles d'un projet.
  22. 22. E t a p e 2 - A n a l y s e Statistique basique :
  23. 23. E t a p e 2 - A n a l y s e Duplications de code et complexités :
  24. 24. E t a p e 2 - A n a l y s e Violations et issues :
  25. 25. E t a p e 3 – C o m p i l a t i o n m u l t i p l e Utilisation des « Flavor » Android pour compiler plusieurs Apk : Configuration d’un Apk Google_play Configuration d’un Apk pub_test Compilation jenkins de deux Apk
  26. 26. E t a p e 4 – A u t o m a t i s a t i o n d e s t e s t s Utilisation du plugin « Monkey test » :
  27. 27. E t a p e 5 – D é p l o i e m e n t Utilisation du plugin « FTP publisher plugin » :
  28. 28. P O U R A L L E R P L U S L O I N C L I Q U E - M O I F O R T
  29. 29. Q U E LQ U E S L I E N S • Jenkins – Présentation globale : lien – Continuous integration jenkins : lien – Plugin list • Sonar – Qualité de code et Sonar : lien – Sonar « Do Great Code »: lien – Contrôler la qualité de ses projets avec Sonar : lien • Monkey test – Monkey runner and Monkey testing : lien • PHPUnit / PHPMD • Template PHP & Tutorial
  30. 30. Q U E S T I O N S ?
  31. 31. M E R C I D E V O T R E AT T E N T I O N P R O C H A I N E É D I T I O N : V I D E O S : E N C O D A G E / M O N E T I S A T I O N 9 J U I L L E T 2 0 1 5

×