1 / 22

Damien THIESSON

Damien THIESSON. L’intégration continue. Continuous Integration. Pourquoi ?. Principes. Fonctionnement. Technos. Exemple.

nitesh
Download Presentation

Damien THIESSON

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Damien THIESSON L’intégration continue ContinuousIntegration

  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. 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. 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 ? 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. Pourquoi ? Principes Fonctionnement Technos Exemple Intégration Intégration Spécifications Spécifications Développement Développement Le schéma de développement « classique » Les grands principes

  7. 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. 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. 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. 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. Pourquoi ? Principes Fonctionnement Technos Exemple Comment cela fonctionne ?

  12. Pourquoi ? Principes Fonctionnement Technos Exemple Architecture d’un logiciel d’intégration

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

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

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

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

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

  18. 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. 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. Pourquoi ? Principes Fonctionnement Technos Exemple Installation de Maven 2 Plugins existants pour Eclipse, NetBeans, etc. Configurer MAVEN_HOME et mettre à jour le PATH

  21. Pourquoi ? Principes Fonctionnement Technos Exemple Références http://www.scribd.com/doc/445931/Principes-de-lintegration-Continue http://fr.wikipedia.org/wiki/Intégration_continue http://dcabasson.developpez.com/articles/java/maven/introduction-maven2/ http://hudson.dev.java.net/ http://weblogs.java.net/blog/2007/02/04/maven-2-integration-hudson http://linsolas.developpez.com/articles/hudson/ Illustrations http://www.kds-corp.com/ http://www.bonvin-computer.fr/images/serveur1.jpg http://www.geekandhype.com/HPMediaSmartServer.jpg

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

More Related