SlideShare une entreprise Scribd logo
1  sur  68
[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike Retour d’expérience sur la mise en œuvre de Maven dans un processus d’intégration continue
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Présentation So@t License Creative Commons 2.0 – Share Alike Rappels sur l’intégration continue
Rappels sur l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike Enjeux de l’intégration continue
Rappels sur l’intégration continue Enjeux de l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike Source:  http://www.agitar.com/solutions/why_unit_testing.html Les 5% de bugs découverts après la release représentent 95% des coûts de correction
Rappels sur l’intégration continue Enjeux de l’intégration continue ,[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike Socle technique Environnement  de build Intégration continue
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Rappels sur l’intégration continue Enjeux de l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Enjeux de l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike Spécifications Développement, correction d’une fonctionnalité Implémentation de la fonctionnalité ou correction et des tests unitaires Compilation privée du module ou projet Enregistrement dans le SCM 1 Détection du besoin d’intégration Evènements envoyés par le SCM Scrutation du SCM Périodique, manuelle 2 Intégration Mise à jour depuis le SCM Compilation du projet Tests unitaires et d’intégration Analyses de la qualité de code 3 Historisation et publication des résultats Enregistrement des résultats Génération des rapports Notifications des résultats Publication de l’artéfact 4
[object Object],[object Object],[object Object],[object Object],[object Object],Rappels sur l’intégration continue Enjeux de l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Enjeux de l’intégration continue ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Enjeux de l’intégration continue ,[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Enjeux de l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike ,[object Object],[object Object],[object Object],[object Object],dans  l’espace   p0 p1 pj pic dans le  temps t1 ti t0
Rappels sur l’intégration continue Enjeux de l’intégration continue ,[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike Et dans la pratique ?
Rappels sur l’intégration continue Et dans la pratique ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Et dans la pratique ? - Outils (1/2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue  Et dans la pratique ? - Outils (2/2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Et dans la pratique ? – En quelques mots… Présentation So@t License Creative Commons 2.0 – Share Alike Accueil d’un nouveau développeur Enregistrement des modifications Compilation, tests Analyses de code Détection du besoin d’intégration Chargement de modifications Production de code Outil de compilation Intégration continue Gestion de configuration Gestion de dépendances Compilations privées pom.xml
Rappels sur l’intégration continue Et dans la pratique ? – Pratiques et anti-pattern (1/3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Et dans la pratique ? – Pratiques et anti-pattern   (2/3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur l’intégration continue Et dans la pratique ? – Pratiques et anti-pattern   (3/3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur l’intégration continue Et dans la pratique ? - Demo  ,[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Présentation So@t License Creative Commons 2.0 – Share Alike Rappels sur Maven 2
Rappels sur Maven 2 Présentation So@t License Creative Commons 2.0 – Share Alike Un peu d’histoire…
Rappels sur Maven 2 Un peu d’histoire… ,[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur Maven 2 Un peu d’histoire… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappels sur Maven 2 Un peu d’histoire… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Présentation So@t License Creative Commons 2.0 – Share Alike Notions
Rappels sur Maven 2 Notions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Notions - POM ,[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Notions - POM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Notions – Structure d’un projet ,[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike =>
Rappel sur Maven 2 Notions – Structure d’un projet ,[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike =>
Rappel sur Maven 2 Notions – Gestion des dépendances ,[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike = + <groupId>fr.soat.sample.metier</groupId> <artifactId>jar-sample</artifactId> <version>0.0.1-SNAPSHOT</version> <name>jar-sample</name> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> </dependencies> <groupId>fr.soat.sample</groupId> <artifactId>war-sample</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>war-sample</name> <dependencies> <dependency> <groupId>fr.soat.sample.metier</groupId> <artifactId>jar-sample</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies>
Rappel sur Maven 2 Notions – Gestion de la visibilité ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Notions – Gestion de la visibilité ,[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike <groupId>fr.soat.sample</groupId> <artifactId>war-sample</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>war-sample</name> <dependencies> <dependency> <groupId>fr.soat.sample.metier</groupId> <artifactId>jar-sample</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> </dependencies>
Rappel sur Maven 2 Notions – Modules et Héritage ,[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike <groupId>fr.soat.sample</groupId> <artifactId>project-sample</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> … <modules> <module>jar-sample</module> <module>war-sample</module> </modules> <artifactId>war-sample</artifactId> <packaging>war</packaging> <name>war-sample</name> <parent> <groupId>fr.soat.sample</groupId> <artifactId>project-sample</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>jar-sample</artifactId> <name>jar-sample</name> <parent> <groupId>fr.soat.sample</groupId> <artifactId>project-sample</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>
Rappel sur Maven 2 Notions – Repository ,[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Notions – Repository ,[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Notions – Cycle de vie ,[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>stop-tomcat</id> <phase>generate-test-sources</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <exec dir= &quot;/home/dev/sps-tomcat/bin&quot; executable=&quot;sh&quot;> <arg line= &quot;shutdown.sh&quot; /> </exec> </tasks> </configuration> </execution> </executions> </plugin>
Rappel sur Maven 2 Notions – Profils ,[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Notions – Configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Rappel sur Maven 2 Présentation So@t License Creative Commons 2.0 – Share Alike Dans la vraie vie…
Rappel sur Maven 2 Dans la vraie vie… ,[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Présentation So@t License Creative Commons 2.0 – Share Alike Exemple de mise en œuvre
Exemple de mise en œuvre  Contexte (1/2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Contexte (2/2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Plan d’action – Maitriser le build ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Plan d’action – Accélérer le développement ,[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Plan d’action – le processus de développement ,[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Plan d’action – le processus de développement Présentation So@t License Creative Commons 2.0 – Share Alike Processus de  développement développement TU NOK commit TU OK Compilation  + TU Compilation ou TU NOK Compilation  + TU +  Déploiement  Auto Dev-integ Compilation  + TU + TF + Déploiement  Auto TU-Dev-integ Compilation ou TU ou TF NOK Compilation ou TU ou TF NOK TU = tests unitaires TF = tests fonctionnels Poste développeur SVN TeamCity
Exemple de mise en œuvre  Plan d’action – Le processus de livraison ,[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Plan d’action – Le processus de livraison Présentation So@t License Creative Commons 2.0 – Share Alike Processus de livraison Production Livrable Environnement  installé Déploiement Correction TF NOK Livraison Environnement  Installé TF = tests fonctionnels Déploiement si TF OK sur env. dev-intégration Tests MOA NOK Poste Livreur (job Serveur CI) Pré-Intégration Intégration Développeurs
Exemple de mise en œuvre  Plan d’action – Les tests fonctionnels ,[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Plan d’action – Les pratiques de codage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Plan d’action – Le livrable ,[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Focus – Retour sur les fichiers de configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Focus – Retour sur le jeux de données ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Exemple de mise en œuvre  Focus – Retour sur le livrable ,[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Présentation So@t License Creative Commons 2.0 – Share Alike Bonnes pratiques Maven
Bonnes pratiques Maven En vrac… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Bonnes pratiques Maven En général… ,[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Bonnes pratiques Maven Focus ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Bonnes pratiques Maven Focus ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Bonnes pratiques Maven Focus ,[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Présentation So@t License Creative Commons 2.0 – Share Alike Pour aller plus loin…
Pour aller plus loin… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Présentation So@t License Creative Commons 2.0 – Share Alike
Présentation So@t License Creative Commons 2.0 – Share Alike Question ?

Contenu connexe

Tendances

CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptxMEDOBEST1
 
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsIntégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsKokou Gaglo
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation dockerOlivier Eeckhoutte
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testahmed oumezzine
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueVincent Composieux
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 

Tendances (20)

CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptx
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
DEVOPS
DEVOPSDEVOPS
DEVOPS
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Cours java
Cours javaCours java
Cours java
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsIntégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec Jenkins
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de test
 
Jenkins.pdf
Jenkins.pdfJenkins.pdf
Jenkins.pdf
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement Continue
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 

En vedette

An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to MavenVadym Lotar
 
L'évolution des prix maxima des principaux produits pétroliers en Belgique (P...
L'évolution des prix maxima des principaux produits pétroliers en Belgique (P...L'évolution des prix maxima des principaux produits pétroliers en Belgique (P...
L'évolution des prix maxima des principaux produits pétroliers en Belgique (P...lesoirbe
 
Initiation windows
Initiation windows Initiation windows
Initiation windows steakalive
 
La réputation des entreprises belges a baissé en 2012
La réputation des entreprises belges a baissé en 2012   La réputation des entreprises belges a baissé en 2012
La réputation des entreprises belges a baissé en 2012 lesoirbe
 
Guadal pp kris olds, discussion paper french
Guadal pp kris olds, discussion paper frenchGuadal pp kris olds, discussion paper french
Guadal pp kris olds, discussion paper frenchIAU_Past_Conferences
 
Utrecht sa- parallel workshops list french
Utrecht  sa- parallel workshops list frenchUtrecht  sa- parallel workshops list french
Utrecht sa- parallel workshops list frenchIAU_Past_Conferences
 
Kanban à grande échelle animé par Yannick Quenec'hdu
Kanban à grande échelle animé par Yannick Quenec'hduKanban à grande échelle animé par Yannick Quenec'hdu
Kanban à grande échelle animé par Yannick Quenec'hduFrench Scrum User Group
 
Computraining by geoffroyadele
Computraining by geoffroyadeleComputraining by geoffroyadele
Computraining by geoffroyadelegeoffroyadele
 
Guide hébergement 2015 en Côte Landes Nature
Guide hébergement 2015 en Côte Landes NatureGuide hébergement 2015 en Côte Landes Nature
Guide hébergement 2015 en Côte Landes NatureSabine C
 
Dalila v6 slides
Dalila v6 slidesDalila v6 slides
Dalila v6 slidesMadoui
 
éTat Des Lieux Des Syndicats De RivièRe
éTat Des Lieux Des Syndicats De RivièReéTat Des Lieux Des Syndicats De RivièRe
éTat Des Lieux Des Syndicats De RivièReGwenael_lemoine
 
Anthony CAHU - CV de Chef de Pub
Anthony CAHU - CV de Chef de PubAnthony CAHU - CV de Chef de Pub
Anthony CAHU - CV de Chef de Puba_cahu
 

En vedette (20)

An Introduction to Maven
An Introduction to MavenAn Introduction to Maven
An Introduction to Maven
 
L'évolution des prix maxima des principaux produits pétroliers en Belgique (P...
L'évolution des prix maxima des principaux produits pétroliers en Belgique (P...L'évolution des prix maxima des principaux produits pétroliers en Belgique (P...
L'évolution des prix maxima des principaux produits pétroliers en Belgique (P...
 
Carrieres
CarrieresCarrieres
Carrieres
 
French
FrenchFrench
French
 
Initiation windows
Initiation windows Initiation windows
Initiation windows
 
La réputation des entreprises belges a baissé en 2012
La réputation des entreprises belges a baissé en 2012   La réputation des entreprises belges a baissé en 2012
La réputation des entreprises belges a baissé en 2012
 
Les canaux ioniques
Les canaux ioniquesLes canaux ioniques
Les canaux ioniques
 
Guadal pp kris olds, discussion paper french
Guadal pp kris olds, discussion paper frenchGuadal pp kris olds, discussion paper french
Guadal pp kris olds, discussion paper french
 
Management des idées
Management des idéesManagement des idées
Management des idées
 
Sp ws1 jean dominique assié
Sp ws1 jean dominique assiéSp ws1 jean dominique assié
Sp ws1 jean dominique assié
 
Utrecht sa- parallel workshops list french
Utrecht  sa- parallel workshops list frenchUtrecht  sa- parallel workshops list french
Utrecht sa- parallel workshops list french
 
Caricature
CaricatureCaricature
Caricature
 
Kanban à grande échelle animé par Yannick Quenec'hdu
Kanban à grande échelle animé par Yannick Quenec'hduKanban à grande échelle animé par Yannick Quenec'hdu
Kanban à grande échelle animé par Yannick Quenec'hdu
 
Flatplans
FlatplansFlatplans
Flatplans
 
Computraining by geoffroyadele
Computraining by geoffroyadeleComputraining by geoffroyadele
Computraining by geoffroyadele
 
Guide hébergement 2015 en Côte Landes Nature
Guide hébergement 2015 en Côte Landes NatureGuide hébergement 2015 en Côte Landes Nature
Guide hébergement 2015 en Côte Landes Nature
 
Dalila v6 slides
Dalila v6 slidesDalila v6 slides
Dalila v6 slides
 
éTat Des Lieux Des Syndicats De RivièRe
éTat Des Lieux Des Syndicats De RivièReéTat Des Lieux Des Syndicats De RivièRe
éTat Des Lieux Des Syndicats De RivièRe
 
Modx
ModxModx
Modx
 
Anthony CAHU - CV de Chef de Pub
Anthony CAHU - CV de Chef de PubAnthony CAHU - CV de Chef de Pub
Anthony CAHU - CV de Chef de Pub
 

Similaire à Présentation Maven

At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache MavenArnaud Héritier
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache MavenArnaud Héritier
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...vlabatut
 
Intégration continue transco
Intégration continue transcoIntégration continue transco
Intégration continue transcolaurent_opnworks
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatiséJérémie Campari
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueOmnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueXavier Callens
 
Introduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesIntroduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesSOAT
 

Similaire à Présentation Maven (20)

At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
 
Intégration continue transco
Intégration continue transcoIntégration continue transco
Intégration continue transco
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueOmnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
 
Introduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesIntroduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuées
 

Plus de SOAT

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018SOAT
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libéréeSOAT
 
Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !SOAT
 
JAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseJAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseSOAT
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
 
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-DurandSOAT
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-DurandSOAT
 
2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-DurandSOAT
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido SOAT
 
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotDans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotSOAT
 
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014SOAT
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...SOAT
 
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014SOAT
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soatSOAT
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...SOAT
 
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014SOAT
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)SOAT
 
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#SOAT
 
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatA la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatSOAT
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesSOAT
 

Plus de SOAT (20)

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libérée
 
Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !
 
JAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseJAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entreprise
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand
 
2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
 
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotDans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
 
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
 
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
 
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)
 
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatA la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
 

Présentation Maven

  • 1.
  • 2.
  • 3. Présentation So@t License Creative Commons 2.0 – Share Alike Rappels sur l’intégration continue
  • 4. Rappels sur l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike Enjeux de l’intégration continue
  • 5. Rappels sur l’intégration continue Enjeux de l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike Source: http://www.agitar.com/solutions/why_unit_testing.html Les 5% de bugs découverts après la release représentent 95% des coûts de correction
  • 6.
  • 7.
  • 8. Rappels sur l’intégration continue Enjeux de l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike Spécifications Développement, correction d’une fonctionnalité Implémentation de la fonctionnalité ou correction et des tests unitaires Compilation privée du module ou projet Enregistrement dans le SCM 1 Détection du besoin d’intégration Evènements envoyés par le SCM Scrutation du SCM Périodique, manuelle 2 Intégration Mise à jour depuis le SCM Compilation du projet Tests unitaires et d’intégration Analyses de la qualité de code 3 Historisation et publication des résultats Enregistrement des résultats Génération des rapports Notifications des résultats Publication de l’artéfact 4
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Rappels sur l’intégration continue Présentation So@t License Creative Commons 2.0 – Share Alike Et dans la pratique ?
  • 15.
  • 16.
  • 17.
  • 18. Rappels sur l’intégration continue Et dans la pratique ? – En quelques mots… Présentation So@t License Creative Commons 2.0 – Share Alike Accueil d’un nouveau développeur Enregistrement des modifications Compilation, tests Analyses de code Détection du besoin d’intégration Chargement de modifications Production de code Outil de compilation Intégration continue Gestion de configuration Gestion de dépendances Compilations privées pom.xml
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Présentation So@t License Creative Commons 2.0 – Share Alike Rappels sur Maven 2
  • 24. Rappels sur Maven 2 Présentation So@t License Creative Commons 2.0 – Share Alike Un peu d’histoire…
  • 25.
  • 26.
  • 27.
  • 28. Rappel sur Maven 2 Présentation So@t License Creative Commons 2.0 – Share Alike Notions
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. Rappel sur Maven 2 Présentation So@t License Creative Commons 2.0 – Share Alike Dans la vraie vie…
  • 44.
  • 45. Présentation So@t License Creative Commons 2.0 – Share Alike Exemple de mise en œuvre
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51. Exemple de mise en œuvre Plan d’action – le processus de développement Présentation So@t License Creative Commons 2.0 – Share Alike Processus de développement développement TU NOK commit TU OK Compilation + TU Compilation ou TU NOK Compilation + TU + Déploiement Auto Dev-integ Compilation + TU + TF + Déploiement Auto TU-Dev-integ Compilation ou TU ou TF NOK Compilation ou TU ou TF NOK TU = tests unitaires TF = tests fonctionnels Poste développeur SVN TeamCity
  • 52.
  • 53. Exemple de mise en œuvre Plan d’action – Le processus de livraison Présentation So@t License Creative Commons 2.0 – Share Alike Processus de livraison Production Livrable Environnement installé Déploiement Correction TF NOK Livraison Environnement Installé TF = tests fonctionnels Déploiement si TF OK sur env. dev-intégration Tests MOA NOK Poste Livreur (job Serveur CI) Pré-Intégration Intégration Développeurs
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60. Présentation So@t License Creative Commons 2.0 – Share Alike Bonnes pratiques Maven
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66. Présentation So@t License Creative Commons 2.0 – Share Alike Pour aller plus loin…
  • 67.
  • 68. Présentation So@t License Creative Commons 2.0 – Share Alike Question ?

Notes de l'éditeur

  1. Quels sont les ingrédients techniques pour la réussite d’un projet? L’effet tunnel Traçabilité de la vie du projet =&gt; Livraison régulière, … Et qd il y a bcp de développeurs, qu’est ce qui consomme du tps? L’intégration =&gt; qui doit être indépendante de l’env Reproductivité de l’environnement de compilation Reproductivité de l’environnement technique
  2. l’intégration est une activité complexe… l’effort augmente significativement avec : le nombre d’artéfacts, les tests d’intégration…et leurs définitions, le nombre d’erreurs, la qualité du code, … le temps écoulé depuis la dernière intégration. l’intégration continue est apparue avec les pratiques XP avec comme motivation de remplacer les grosses et longues phases d’intégration en fin de projet par des phases plus petites et plus fréquentes l’idée principale : réduire au minimum l’effort d’intégration de l’application sans altérer le processus de développement logiciel
  3. trois composants : Un outil de construction automatisée Tel qu&apos;Ant ou Maven2, permettant aussi bien au développeur qu&apos;à l&apos;outil d&apos;intégration continue de construire tout ou partie du système. Un unique système de gestion de sources, Tel que CVS ou Subversion, contenant les sources et l&apos;historique des modifications apportées par les développeurs sur le système. A chaque mise à jour, le serveur d&apos;intégration continue charge les modifications et exécute la construction complète du système. Un serveur d&apos;intégration continue, Tels que Hudson, Bamboo, Continuum ou Cruise Control. Son rôle est de détecter les mises à jour sur le système de gestion de sources, d&apos;exécuter le cas échéant la construction du système et de notifier l&apos;équipe de développement du résultat
  4. Parler du build : pas de définition (totalement) précise…! le build peut aller de la compilation, incrémentale, à la génération d’un package en passant par la génération de fichiers de source, le lancement de tests (unitaires, d’intégration…), l’analyse du code source, la génération d’un site web et de rapports… d’une certaine manière, le build englobe l’ensemble des actions souhaitées prenant en entrée des fichiers sources pour produire un résultat souhaité. généralement, nous attendons d’un outil de build qu’il puisse automatiser et optimiser ces actions.
  5. Pas d’intégration continue sans stratégie de build totalement opérationnelle
  6. l&apos;effet psychologique sur le développeur n&apos;est pas négligeable, d&apos;autant plus si l&apos;on se trouve dans un contexte d&apos;urgence. la qualité des corrections est bien souvent délaissée au profit de la rapidité de mise en œuvre. pour éviter de telles situations, dans une démarche d&apos;intégration continue, LA tâche prioritaire lorsqu&apos;un bogue est découvert est de le corriger.
  7. import (only available in Maven 2.0.9 or later) This scope is only used on a dependency of type pom in the &lt; dependencyManagement&gt; section. It indicates that the specified POM should be replaced with the dependencies in that POM&apos;s &lt;dependencyManagement&gt; section. Since they are replaced, dependencies with a scope of import do not actually participate in limiting the transitivity of a dependency.