La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Damien THIESSON Lintégratio n continue Continuous Integration.

Présentations similaires


Présentation au sujet: "Damien THIESSON Lintégratio n continue Continuous Integration."— Transcription de la présentation:

1 Damien THIESSON Lintégratio n continue Continuous Integration

2 Pourquoi ?PrincipesFonctionnementTechnosExemple "L'intégration continue est un ensemble de pratiques utilisées en génie logiciel. Elles consistent à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression de l'application en cours de développement." "Une pratique considérant différemment l'intégration, habituellement connue comme pénible et peu fréquente, pour en faire une tâche simple faisant partie intégrante de l'activité quotidienne d'un développeur." Wikipedia Documentation CruiseControl.NET

3 Pourquoi ?PrincipesFonctionnementTechnosExemple Plan Les précurseurs de lintégration continue A quoi cela sert-il ? Les grands principes Comment cela fonctionne ? Les technologies existantes Démonstration

4 Pourquoi ?PrincipesFonctionnementTechnosExemple Petit retour en arrière … Les précurseurs : Les outils de versionning Les tests unitaires Les outils de compilation Inspection de code

5 Pourquoi ?PrincipesFonctionnementTechnosExemple Pourquoi lintégration continue ? Des exigences en amont Capacité de reporting Capacité de realease en continu Réactivité face aux changements Une maîtrise dœuvre contrôlée Coordination des équipes Abstraction de la technique

6 Pourquoi ?PrincipesFonctionnementTechnosExemple Les grands principes Le schéma de développement « classique » SpécificationsDéveloppementIntégration Développement Intégration Spécifications

7 Pourquoi ?PrincipesFonctionnementTechnosExemple Limportance des tests Les tests de type « white box » Les tests unitaires Les tests dintégration Les tests de performance Les tests de qualité

8 Pourquoi ?PrincipesFonctionnementTechnosExemple Limportance des tests Les tests de type « black box » Les tests fonctionnels Les tests de montée en charge Les tests de non-régression Les tests de type « white box »

9 Pourquoi ?PrincipesFonctionnementTechnosExemple Architecture de développement Postes de dev SCM Serveur dintégration Serveur de production Serveur de recette Serveur de test

10 Pourquoi ?PrincipesFonctionnementTechnosExemple Intégration réellement continue ? Contributions (commits) règulières mais ponctuelles des développeurs Consensus sur la fréquence de commit : au moins une fois par jour

11 Pourquoi ?PrincipesFonctionnementTechnosExemple Comment cela fonctionne ?

12 Pourquoi ?PrincipesFonctionnementTechnosExemple Architecture dun logiciel dintégration Gestionnaire de Build Gestionnaire de tests Gestionnaire de SCM Gestionnaire de notifications

13 Pourquoi ?PrincipesFonctionnementTechnosExemple Un fonctionnement actif Les développeurs « committent » Le serveur dintégration surveille le serveur SCM (Cron)

14 Pourquoi ?PrincipesFonctionnementTechnosExemple Le développeur soumet une modification Postes de dev SCM Serveur dintégration Serveur de production Serveur de recette Serveur de test Cas dutilisation 1 Commit 2 Vérification des modifs 3 Update 4 Build + Tests $ Gcc –c *.c –o test Compiling… Compilation Sucessfull Testing… Junit tests … OK Integration tests … OK Performance tests … OK Code Inspection … 86% Deploying in test environnement … OK 5 Déploiement 6 Notification

15 Pourquoi ?PrincipesFonctionnementTechnosExemple Le chef de projet analyse le reporting Cas dutilisation

16 Pourquoi ?PrincipesFonctionnementTechnosExemple Les technologies existantes Hudson CruiseControl / CruiseControl.NET Apache Continuum QuickBuild (open-source: LuntBuild) Et beaucoup dautres …

17 Pourquoi ?PrincipesFonctionnementTechnosExemple Exemple dapplication Java / Maven 2 / Hudson

18 Pourquoi ?PrincipesFonctionnementTechnosExemple A propos de Maven Outil de build évolué Approche déclarative Pratiques standardisées Nombreux plugins Gestion des dépendances Profils de déploiements

19 Pourquoi ?PrincipesFonctionnementTechnosExemple Installation de Hudson Packages natifs disponibles sur la plupart des distributions Linux et BSD Un simple WAR à déployer sur votre serveur dapplication préféré (recommandé si vous avez déjà un AS qui tourne)

20 Pourquoi ?PrincipesFonctionnementTechnosExemple Installation de Maven 2 Plugins existants pour Eclipse, NetBeans, etc. Configurer MAVEN_HOME et mettre à jour le PATH

21 Pourquoi ?PrincipesFonctionnementTechnosExemple Références lintegration-Continue duction-maven2/ integration-hudson Illustrations

22 Pourquoi ?PrincipesFonctionnementTechnosExemple Merci de votre attention ! Questions ?


Télécharger ppt "Damien THIESSON Lintégratio n continue Continuous Integration."

Présentations similaires


Annonces Google