Jenkins - Les jeudis de la dcouverte slide 0

Jenkins - Les jeudis de la dcouverte

  • Published on
    14-Aug-2015

  • View
    55

  • Download
    4

Transcript

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. 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. AVANT JENKINS 4. APRES JENKINS 5. Qu'est-ce que Jenkins ? crit en JAVA, initialement dvelopp en 2008 Actuellement 1057 plugins N'embarque aucune librairie Alternative CruiseControl, Travis, Bamboo Intgration continue : Dveloppement normal : 6. Qu'est-ce que Jenkins ? Un outil de monitoring de dveloppement 7. Qu'est-ce que Jenkins ? Un ordonnanceur de taches automatisables Objectif ? - Tester rapidement et automatiquement les volutions/corrections de l'application - Amliorer la qualit du code produit - Automatiser les tches qui peuvent l'tre (test, dploiements etc.) - Minimiser les rgressions 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. 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 donnes gnres par des librairies systme Dashboard des mtriques qualitatives de dveloppement 10. Processus d'intgration continue 11. Prsentation de l'interface Prliminaire : installation des librairies systme Gestion des droits/utilisateurs Gestion des plugins Prsentation d'un projet php intgr dans Jenkins (test, documentation, dploiement continu) 12. D U C O N C R E T E N F I N U N E D E M O 13. Configuration Template php La source : le code La frquence de build Les possibilits : pre/post build Les plugins Le core de la build (ant/build.xml) Pour aller plus loin: les builds paramtrables 14. Stratgie de Tests PHPUnit Quoi tester ? Les tests unitaires Les tests fonctionnels (Selenium plugin pour Firefox) Analyse et code coverage 15. Dploiement continu Dploiement sur une plateforme en fonction du rsultat de la build But recherch : - Une plateforme de test jour - Automatisation du dploiement et des commandes (assetic, cache, esi...) - Minimiser les actions humaines sources d'incertitude voire d'erreurs - Internaliser les process au sein du projet 16. Feed Back Le bon : - Amlioration de la qualit du code produit - Informations pertinentes sur le code produit - Assurance via les tests - Gnration de la documentation du projet durant les builds - Dploiement automatiss et systmatique en cas de succs de la build Le mauvais : - Non indpendance des donnes utilises - Dpendance l'architecture rseau existante 17. Pour aller plus loin Des tests plus volus (Behat/Selenium) Des tests de performance intgrs (BlackFire) Plus d'infos avec Insight (Sensio) Des application intgres au sein d'une VM Plugger Jenkins avec Jira 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. A r c h i t e c t u r e 20. E t a p e 1 - C o m p i l a t i o n 1 - Lancement des Builds 2 - Dtecter les problmes de compilation. 21. E t a p e 2 - A n a l y s e Qualit de code et Sonar. Principales fonctionnalits : - Mesures qualitatives : couverture et taux de russite des tests, complexit du code, respect des rgles de codage... - Mesures quantitatives : nombre de classes, duplication de code, etc. - Historiques des statistiques - Visualisation du code source, surlignant les violations des rgles de codage qui s'y trouvent. - Identification des points faibles d'un projet. 22. E t a p e 2 - A n a l y s e Statistique basique : 23. E t a p e 2 - A n a l y s e Duplications de code et complexits : 24. E t a p e 2 - A n a l y s e Violations et issues : 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 dun Apk Google_play Configuration dun Apk pub_test Compilation jenkins de deux Apk 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. E t a p e 5 D p l o i e m e n t Utilisation du plugin FTP publisher plugin : 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. Q U E LQ U E S L I E N S Jenkins Prsentation globale : lien Continuous integration jenkins : lien Plugin list Sonar Qualit de code et Sonar : lien Sonar Do Great Code : lien Contrler la qualit de ses projets avec Sonar : lien Monkey test Monkey runner and Monkey testing : lien PHPUnit / PHPMD Template PHP & Tutorial 30. Q U E S T I O N S ? 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