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

L’intégration continue

Présentations similaires


Présentation au sujet: "L’intégration continue"— Transcription de la présentation:

1 L’intégration continue
Damien THIESSON L’intégration continue Continuous Integration

2 Pourquoi ? Principes Fonctionnement Technos Exemple "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." Wikipedia "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." Documentation CruiseControl.NET

3 Plan Les précurseurs de l’intégration continue A quoi cela sert-il ?
Pourquoi ? Principes Fonctionnement Technos Exemple Plan Les précurseurs de l’intégration continue A quoi cela sert-il ? Les grands principes Comment cela fonctionne ? Les technologies existantes Démonstration

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

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

6 Les grands principes Le schéma de développement « classique »
Pourquoi ? Principes Fonctionnement Technos Exemple Le schéma de développement « classique » Les grands principes Spécifications Développement Intégration Spécifications Développement Intégration

7 L’importance des tests
Pourquoi ? Principes Fonctionnement Technos Exemple Les tests de type « white box » Les tests unitaires L’importance des tests Les tests d’intégration Les tests de performance Les tests de qualité

8 L’importance des tests
Pourquoi ? Principes Fonctionnement Technos Exemple L’importance des tests Les tests de type « white box » Les tests de type « black box » Les tests fonctionnels Les tests de montée en charge Les tests de non-régression

9 Architecture de développement
Pourquoi ? Principes Fonctionnement Technos Exemple Serveur de test Architecture de développement Serveur d’intégration Serveur de recette Postes de dev Serveur de production SCM

10 Intégration réellement continue ?
Pourquoi ? Principes Fonctionnement Technos Exemple 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 Comment cela fonctionne ?
Pourquoi ? Principes Fonctionnement Technos Exemple Comment cela fonctionne ?

12 Gestionnaire de notifications
Pourquoi ? Principes Fonctionnement Technos Exemple Architecture d’un logiciel d’intégration Gestionnaire de Build Gestionnaire de tests Gestionnaire de SCM Gestionnaire de notifications

13 Un fonctionnement actif
Pourquoi ? Principes Fonctionnement Technos Exemple Un fonctionnement actif Les développeurs « committent » Le serveur d’intégration surveille le serveur SCM (Cron)

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

15 Le chef de projet analyse le reporting
Pourquoi ? Principes Fonctionnement Technos Exemple Cas d’utilisation Le chef de projet analyse le reporting

16 Les technologies existantes
Pourquoi ? Principes Fonctionnement Technos Exemple Les technologies existantes Hudson CruiseControl / CruiseControl.NET Apache Continuum QuickBuild (open-source: LuntBuild) Et beaucoup d’autres …

17 Java / Maven 2 / Hudson Exemple d’application Pourquoi ? Principes
Fonctionnement Technos Exemple Exemple d’application Java / Maven 2 / Hudson

18 A propos de Maven Outil de build évolué Approche déclarative
Pourquoi ? Principes Fonctionnement Technos Exemple 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 Installation de Hudson
Pourquoi ? Principes Fonctionnement Technos Exemple Installation de Hudson Packages natifs disponibles sur la plupart des distributions Linux et BSD Un simple WAR à déployer sur votre serveur d’application préféré (recommandé si vous avez déjà un AS qui tourne)

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

21 Références Illustrations
Pourquoi ? Principes Fonctionnement Technos Exemple Références Illustrations

22 Merci de votre attention !
Pourquoi ? Principes Fonctionnement Technos Exemple Merci de votre attention ! Questions ?


Télécharger ppt "L’intégration continue"

Présentations similaires


Annonces Google