L’intégration continue

Slides:



Advertisements
Présentations similaires
Master SIR (M2) Année Développement en environnement J2EE de Web services pour l'interopérabilité du projet CASTORE ce stage de fin d’étude a.
Advertisements

- Formation Flex (Introduction)‏ - Formation Flex 1 1.
1 HPC pour les opérations. Sommaire Quelques rappels sur Windows Compute Cluster Server Déploiement de Compute Cluster Administration de Compute cluster.
La Recette La recette.
Les Evolutions et la Maintenance
Architecture Technique de la plate-forme CASTORE
CHOUETTE Un outil pour le développement de données normalisées dans le champs de linformation voyageurs Jacques BIZE Groupe Technologie des transports.
Copyright 2008 © Consortium ESUP-Portail ESUP-Days 7, Paris, 3 février 2009 La démarche projet Pascal Aubry.
CASTEL Dennis SARZEAUD Floriane TAKAHASHI Atsushi.
Eclipse Plug-ins Factory
LES MÉTIERS DE L’INFORMATIQUE
Serveurs web pour JSP et Servlets
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
Les tests et les logiciels de gestion de tests
Les outils de gestion du cycle de vie logiciel Par Julien Furgerot Enseignant : D. Revuz Exposés de système 2006.
Premiers pas avec Apache Ant Par Guillaume BITAUDEAU Le 16/10/2003.
Organiser des Tests dans un projet
06 Juillet 2009 Projet Checker daccessibilité de fichiers SVG Rami BALI Toufic HADDAD Aroussia MAADI Encadrants Annie DANZART Christine POTIER Jérôme HUGUES.
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
Architecture Technique de la plate-forme CASTOR Projet Castor © Ecole des Mines de Nantes
Projet J2EE Maverick XMLBeans Garcel Jean-Baptiste – Le Loc Martin – Muller Thibaut.
Les outils d’intégration continue
Validation de logiciel
Introduction aux méthodes agiles
Outils d’automatisation
Démarche Analyse des OGL et des Méthodes Objectifs : Activités :
Présenté par : Kalleli Dhouha
Introduction au Génie Logiciel
Android est une plateforme mobile open source et entièrement paramétrable. Elle a été créée afin de mettre à disposition des développeurs toutes les fonctionnalités.
Sommaire Objectif de Peakup Principes de fonctionnement
Applications Chapitre B17 et C18
Projet JSimula.
Demain se construit aujourd'hui
TDD : avec ou sans Mocks ? Par Anthony Dahanne, Yannick Ameur,
Présentation du lot n°1 Projet ProxCin- GestSalles NoCloud IT Lundi 20 Février 2012.
Framework Play 2.0 Démonstration du proof of concept
Création d'un projet Web avec Netbeans
Projet JSimula.
•Présentation de Team Edition for Database Professionals •La méthodologie •Etude de cas.
‘‘Open Data base Connectivity‘‘
Tour d’horizon des outils d’aide au développement Java
Test logiciel Xavier Baril.
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Supports de formation au SQ Unifié
08 Avril 2010 Versionnement de CODE (Subversion SVN et USVN) CATI Ecoinformatique le 08/04/2010.
Greta des monts du cantal
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Suivi de projet Architecture de l’information par l’équipe en charge du projet A Mille 2013.
5 Les progiciels de gestion et les opportunités associées.
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
Introduction à la plateforme .NET
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
Introduction au Génie Logiciel
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Alain Le Hegarat Responsable Marketing Windows Server
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Présentation Les Outillages.
Quels enjeux Les Nouvelles Technologies sont utilisées sur tous types de projets Applications B2E, B2B, B2C Produits Client-Serveur.
1 Interface Web-Service pour une application génie logiciel Equipe : LIP6 Team Move Date : 02/09/2008 Auteur : S. HONG Encadrants : F. KORDON / J.B. VORON.
Master 1ère année Sécurité des Systèmes d’Information 1 Rôle et profil de l'administrateur  Profession généraliste peu connue mais très recherchée  Il.
Comment choisir son MCU (ou autre DSP, FPGA …) ?
Journée Annuelle Interop’Santé Jean-Charles DRON GAZELLE INTEROP’SANTE UNE RÉPONSE ALIGNÉE AVEC LES BESOINS DE NOS ADHÉRENTS 10/11/2015.
Git et Gitlab In Git we trust. Git et Gitlab In Git we trust.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Jenkins, votre serviteur C. Loomis (CNRS/LAL) Journée LoOPS 11 décembre 2012.
Intégration continue avec Jenkins OTHMAN Maroua - DUCROT Lauriane - ESCURE Philippe - JOLY Aurélien & DESPREZ Jérome 1.
WHAT IS THIS ? Serveur d’intégration Environnement JAVA Open Source Ou logiciel d’intégration continue.
Transcription de la présentation:

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

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

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

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

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

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

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é

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

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

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

Comment cela fonctionne ? Pourquoi ? Principes Fonctionnement Technos Exemple Comment cela fonctionne ?

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

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)

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

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

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 …

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

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

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)

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

Références Illustrations 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

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