SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Principes d'intégration
continue
Dimitri BAELI
VP Quality at eXo Platform
Octobre 2010
Dimitri BAELI
Enterprise
Scrum
Master
VP
Quality
Support
Level 3
eXo
Platform
Organisation des
développements
SysAdmins
Teams
Release Process
Ensimag
98
QA Teams
De quoi on va parler ?
Source Green Pepper
Build & Packaging
Les Fondamentaux
Le « Joel Test » La qualité
L’agilité En continu !
Les Fondamentaux
Le « Joel Test »
Le Joel Test
1- Utilisez-vous un gestionnaire de sources ?
2- Vos binaires sont-ils assemblés en une fois ?
3- Vos binaires sont-ils produits quotidiennement ?
4- Avez-vous un gestionnaire d'anomalies ?
5- Le code est-il corrigé avant d'être étendu ?
6- Avez-vous un planning à jour ?
7- Avez-vous des spécifications ?
8- Vos développeurs sont-ils dans un lieu calme ?
9- Avez-vous les meilleurs outils lié à votre budget ?
10- Avez-vous des testeurs ?
11- Les candidats écrive du code ?
12- Les développeurs font-ils faire des tests par des passants ?
Et équipe qui ne fournit pas un niveau de qualité consistant
Le Joel Test
Si vous avez moins de 10
au Test de Joel
Vous avez de sérieux problèmes !
Le Joel Test
1- Utilisez-vous un gestionnaire de sources ?
2- Vos binaires sont-ils assemblés en une fois ?
3- Vos binaires sont-ils produits quotidiennement ?
4- Avez-vous un gestionnaire d'anomalies ?
5- Le code est-il corrigé avant d'être étendu ?
6- Avez-vous un planning à jour ?
7- Avez-vous des spécifications ?
8- Vos développeurs sont-ils dans un lieu calme ?
9- Avez-vous les meilleurs outils lié à votre budget ?
10- Avez-vous des testeurs ?
11- Les candidats écrive du code ?
12- Les développeurs font-ils faire des tests par des passants ?
Joel Test
Référentiel
Gestion des conflits
Historique
Reproductibilité
Traçabilité
Visibilité (Fisheye, SVNSearch)
Outils : SVN, Mercurial, VSS
1- Un gestionnaire de sources
Joel Test
Sinon Il est source d'erreurs
Sinon il est joué moins souvent
Sinon il dépend de certaines personnes
Sinon les risques d’échec augmentent à
l'approche de la livraison
Mais Il faut aller du début à jusqu'au bout !
Outils de build : Maven, Ant, NAnt
2 - Assemblage en une étape
Joel Test
3 - L’assemblage quotidien
Usine de build : Cron, CruiseControl(.net), Hudson, Bambou, ...
Un nouveau jour se lève
Prévenir plutôt que guérir
Objectivité (« ça marche chez moi ! »)
Donner confiance
Prise de conscience de l'impact d'un commit
Et les tests !
Joel Test
9- Vous n’avez pas les meilleurs outils que
vous puissiez vous payer ?
De gratuit à très cher
Adaptés ou non ?
Modernes ou historiques ?
Maitrisé par vos équipes ?
Il en existe beaucoup ! De gratuit ou très cher
Simples ou trop compliqué
Joel Test
9- Les meilleurs outils possible
3 - Assemblage quotidien
2 - Assemblage en une étape
1- Un gestionnaire de sources
4 points de gagnés !
Les Fondamentaux
La qualité
1. Les niveaux de
finition 2. La gestion du risque
La qualité
– Niveau 0: Prototype / Coin de table : l'idée
– Niveau 1: Binaire interne : l'équipe
– Niveau 2: Diffusion publique non supportée
– Niveau 3: Support en production
Les niveaux de finition
La qualité
– Niveau 0 - Prototype : A chaque grand changement
– Niveau 1 - Equipe : Régulièrement
– Niveau 2 - Diffusable : 1 ou 2 jours à chaque Jalon
– Niveau 3 - Production : Bientôt !
Combien de temps votre dernier livrable à passé
dans chaque niveau ?
Les niveaux de finition
Les Fondamentaux
L’agilité
1- Le manifeste agile
2- Les principes
3- Les pratiques
L'agilité
– Collaboration avec le client
– Un produit opérationnel
– La réactivité face au changement
– Des hommes plutôt que des processus
Le manifeste agile
Prendre du plaisir à développer
L'agilité
– Livraison fréquentes
– Cycles courts
– Une Equipe
– Rythme soutenable
– Produit en état de marche en continu
Les principes
Du bon sens !
L'agilité
– Test Driven Developpement
– Pair Programming
– Spécifications exécutables
– Démonstration par les développeurs
3- Les pratiques
Scrum - XP - Kanban - Lean
Les Fondamentaux
En continu !
Connaître la qualité des livrables
o En toute indépendance
o De façon reproductible
o Sur tous les environnements
o En permanence
Prévenir les erreurs
o Uniquement les vraies erreurs
o Compréhensibles
o Rapidement
En continu !
En continu
Partager un état commun
o En équipe
o Ecrire des tests probants
o Commit atomique (un seul sujet)
o Régler les problèmes sur le champ
o Commit fréquent
L'essentiel c’est
o La livraison du produit qui marche
o Satisfaire le client
o Avec de la productivité
Connaitre Partager
L’essentiel Prévenir
En continu !
Des questions avant de parler mise
en oeuvre ?
La Chaine d’intégration
continue
Le cycle de build
La chaine d’intégration
Le minimum vital
La Chaine d’intégration
continue
La chaine d’intégration
Chaine d’intégration
Source Vincent Massol - Pivolis 2004
La Chaine d’intégration
continue
Le cycle de build
Cycle de build
1. Récupération des sources
2. Récupération des binaires tiers
3. Compilation
4. Tests unitaires
5. Analyse Qualité du code
6. Tests de Déploiement / Smoke Test
7. Tests d'intégration
8. Génération de la Documentation
9. Packaging
10. Test d'installation
11. Publication des binaires
12. Notification du résultat
La Chaine d’intégration
continue
Des exemples
Le strict minimum
Exemple PME
Exemple Editeur
Le minimum
• 1 Machine isolée
• 1 Accès automatique aux sources
• 1 Environnement de compilation propre
• 1 Environnement d'exécution vièrge
• 1 Build automatisé (script)
• 1 Lieu de publication et mails des personnes concernées
• … Et de l'huile de coude
Le strict minimum
PME
o Équipe de 4 développeurs/euses
o 1 PC a 300€
Exemple PME
• SVN
o Historique sources
• Maven2
o Build source
o Gestion (versionnée)
des dépendances
• Continuum
o Build Automatique
o Tests unitaires
• ArtiFactory
o Repository Maven2
• Sonar
o Qualité code
• Ressources :
o Installer le serveur
 Compétences Linux
o Installer les applicatifs
 Compétences Java/Linux
o Paramétrer les applicatifs
o Affiner les réflexions
Coût
• 300€ (pc tour)
• 5 jours travail
PME
Exemple PME
Bravo Laurent !
eXo Platform
eXo Platform :
o 100+ devs sur 4 pays: Vietnam, Ukraine, France, Tunisie
o Méthodologie Agile : Scrum
o 16+ equipes
o 6 Projets Open Source sur 4 Niveaux
o eXo JCR
o eXo Portal : GateIn en co-développement avec JBoss (10p)
o eXo Content : WCM + DMS + Workflow
o eXo Collaboration, eXo Knowledge, eXo Social, xCMIS, eXo IDE
o 1 produit = eXo Platform 3.0.0
Exemple Editeur
eXo Platform
o Environnements cible :
o 3 AS = JBoss, Tomcat, Weblogic
o 2 OS = Windows, RHEL
o 3DB = MySQL, Oracle,
o 3 Navigateurs = Chrome, FF, IE7
=> 300+ configurations
o Code : Java, Xml, Html, JavaScript, iPhone
o IDE : Eclipse, Intellij Idea
o Source : Svn, GoogleCode, JBoss.org
Exemple Editeur
o Build : Maven + Extensions
o 200+ projets de build
o Usine :
o Hudson : http://builder.exoplatform.org
o Sonar (en test) : http://sonar.exoplatform.org
o Management :
o Jira : http://jira.exoplatform.org
o Fisheye + Crucible : http://fisheye.exoplatform.org
o Serveurs sur Amazon EC2 (mode hébergé) !
Exemple Editeur
Bravo Arnaud !
Exemple Editeur
Hudson - eXo - 20100923
Exemple Editeur
Hudson - eXo - 20100923
Mise en oeuvre
Outils de build Outils de test
Usines Logicielles Coups de coeur
Outils de build
Build
• Scripting:
• Ant, Nant, Ivy
• Maven2, Maven3, NMaven
• Gradle
• PlayFramework! (c'est embarqué)
• Gestion des binaires (dépendances):
• Nexus
• Artifactory
• Apache, Svn, Ftp !
Outils de build
Testing
- Unitaire: JUnit, TestNG, Nunit
- Calcul de couverture : Covertura, Emma
- Graphique: Selenium, Abbot
- Performances: JMeter, SoapUI, LoadRunner, ...
- Analyse de code: FindBug, CheckStyle,
- Tests Fonctionnels exécutables:
- FitNess, GreenPepper
Outils de test
Usines
Le précurseur : Cruise Control
Choisir une usine :
http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix
Les usines modernes :
TeamCity : bonheur du développeur
Bamboo : complet et reporting
Hudson : simple et efficace
Cruise : l'intellectuel
Usines Logicielles
o Analyse du code
o Une plateforme de gestion de la qualité
o Suivi des règles de développement
o Suggestion d'action
Coups de coeur
http://nemo.sonar.codehaus.org - Qualité du code de Maven 3.0
La dette technique sous surveillance
http://www.sonarsource.org
La platform de build sur le nuage
- DEV@Cloud
- RUN@Cloud
http://www.cloudbees.com
Coups de coeur
o Tests fonctionnels exécutables
Coups de coeur
http://www.greenpeppersoftware.com
Bibliographie
- Martin Fowler
http://martinfowler.com/articles/continuousIntegration.html
- Joel on software
http://french.joelonsoftware.com/Articles/TheJoelTest.html
- Manifeste Agile
http://fr.wikipedia.org/wiki/Manifeste_agile
Merci à :
- Vincent Massol (PMD Maven, Maitre en Enterprise Build)
- Arnaud Héritier (PMD Maven, Maitre en Hudson, Confluence, Jira)
- Kohsuke Kawaguchi (pour l’invention d’hudson)
Merci
Et à bientôt !

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011Henri Gomez
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Jonathan Martin
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924Gregory Boissinot
 
Mise En Place De Tests En Milieu Hostile (C++, CppUnit) - 25 mai 2012
Mise En Place De Tests En Milieu Hostile (C++, CppUnit) - 25 mai 2012Mise En Place De Tests En Milieu Hostile (C++, CppUnit) - 25 mai 2012
Mise En Place De Tests En Milieu Hostile (C++, CppUnit) - 25 mai 2012Agilbee (Patrice Petit)
 
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011Henri Gomez
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et DockerStephane Manciot
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDXavier NOPRE
 
Journées Perl 2008 "Kalité de Modules"
Journées Perl 2008 "Kalité de Modules"Journées Perl 2008 "Kalité de Modules"
Journées Perl 2008 "Kalité de Modules"Xavier Caron
 
TDD for DevOps with Chef
TDD for DevOps with ChefTDD for DevOps with Chef
TDD for DevOps with ChefOlivier BAZOUD
 
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Julien Jakubowski
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerGeeks Anonymes
 
Agile tour 2015 alliés contre les défauts
Agile tour 2015   alliés contre les défautsAgile tour 2015   alliés contre les défauts
Agile tour 2015 alliés contre les défautsJulien Jakubowski
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteStephane Couzinier
 
Devops, un tour d'horizon - Eutelsat 2018
Devops, un tour d'horizon -  Eutelsat 2018Devops, un tour d'horizon -  Eutelsat 2018
Devops, un tour d'horizon - Eutelsat 2018Ludovic Piot
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 

Was ist angesagt? (20)

DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
DevOps - Retour d’expérience - AlpesJug du 20 Septembre 2011
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924
 
Mise En Place De Tests En Milieu Hostile (C++, CppUnit) - 25 mai 2012
Mise En Place De Tests En Milieu Hostile (C++, CppUnit) - 25 mai 2012Mise En Place De Tests En Milieu Hostile (C++, CppUnit) - 25 mai 2012
Mise En Place De Tests En Milieu Hostile (C++, CppUnit) - 25 mai 2012
 
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
 
Jenkins Workflow
Jenkins WorkflowJenkins Workflow
Jenkins Workflow
 
Journées Perl 2008 "Kalité de Modules"
Journées Perl 2008 "Kalité de Modules"Journées Perl 2008 "Kalité de Modules"
Journées Perl 2008 "Kalité de Modules"
 
TDD for DevOps with Chef
TDD for DevOps with ChefTDD for DevOps with Chef
TDD for DevOps with Chef
 
JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003JENKINS_BreizhJUG_20111003
JENKINS_BreizhJUG_20111003
 
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
 
Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
Agile tour 2015 alliés contre les défauts
Agile tour 2015   alliés contre les défautsAgile tour 2015   alliés contre les défauts
Agile tour 2015 alliés contre les défauts
 
Valider par des tests - Blend
Valider par des tests - BlendValider par des tests - Blend
Valider par des tests - Blend
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
 
Devops, un tour d'horizon - Eutelsat 2018
Devops, un tour d'horizon -  Eutelsat 2018Devops, un tour d'horizon -  Eutelsat 2018
Devops, un tour d'horizon - Eutelsat 2018
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 

Andere mochten auch

Analyse IDNA expérience interactive sur tablette tactile MarieJulie CatoirBri...
Analyse IDNA expérience interactive sur tablette tactile MarieJulie CatoirBri...Analyse IDNA expérience interactive sur tablette tactile MarieJulie CatoirBri...
Analyse IDNA expérience interactive sur tablette tactile MarieJulie CatoirBri...mjcatoir
 
Herramientas basicas de word antonia
Herramientas basicas de word antoniaHerramientas basicas de word antonia
Herramientas basicas de word antoniaantonia94ugmex
 
EU-Bürger sorgen sich um gesunde Meere.
EU-Bürger sorgen sich um gesunde Meere.EU-Bürger sorgen sich um gesunde Meere.
EU-Bürger sorgen sich um gesunde Meere.WWF Deutschland
 
Charte du forum de la société civile fr-
Charte du forum de la société civile  fr-Charte du forum de la société civile  fr-
Charte du forum de la société civile fr-Forum Societe Civile
 
Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Damien Laureaux
 
Universidad central del ecuador
Universidad central del ecuadorUniversidad central del ecuador
Universidad central del ecuadorcrissvgm
 
Ma ville .meknes
Ma ville   .meknesMa ville   .meknes
Ma ville .meknesmerico2
 
Histoire de joué 6 les chateaux
Histoire de joué 6   les chateauxHistoire de joué 6   les chateaux
Histoire de joué 6 les chateauxDenis Berthault
 
Présentation ma ville_changsha
Présentation ma ville_changshaPrésentation ma ville_changsha
Présentation ma ville_changshafangqiong319
 
Action humanitaire de l’UNICEF pour les enfants
Action humanitaire de l’UNICEF pour les enfantsAction humanitaire de l’UNICEF pour les enfants
Action humanitaire de l’UNICEF pour les enfantsUNICEF Publications
 
Conférence changer de vie cle de vie - 1.12.2012 - dr. emeric lebreton (1)
Conférence changer de vie   cle de vie - 1.12.2012 - dr. emeric lebreton (1)Conférence changer de vie   cle de vie - 1.12.2012 - dr. emeric lebreton (1)
Conférence changer de vie cle de vie - 1.12.2012 - dr. emeric lebreton (1)Cabinet Orient'action
 
Reparatur PST-Dateien mit einer effektiven pst reparieren Software
Reparatur PST-Dateien mit einer effektiven pst reparieren SoftwareReparatur PST-Dateien mit einer effektiven pst reparieren Software
Reparatur PST-Dateien mit einer effektiven pst reparieren SoftwareKen Kiara
 
Relations commerciales avec un partenaire étranger: quelques points qui mérit...
Relations commerciales avec un partenaire étranger: quelques points qui mérit...Relations commerciales avec un partenaire étranger: quelques points qui mérit...
Relations commerciales avec un partenaire étranger: quelques points qui mérit...GeoParks
 

Andere mochten auch (20)

Analyse IDNA expérience interactive sur tablette tactile MarieJulie CatoirBri...
Analyse IDNA expérience interactive sur tablette tactile MarieJulie CatoirBri...Analyse IDNA expérience interactive sur tablette tactile MarieJulie CatoirBri...
Analyse IDNA expérience interactive sur tablette tactile MarieJulie CatoirBri...
 
Herramientas basicas de word antonia
Herramientas basicas de word antoniaHerramientas basicas de word antonia
Herramientas basicas de word antonia
 
EU-Bürger sorgen sich um gesunde Meere.
EU-Bürger sorgen sich um gesunde Meere.EU-Bürger sorgen sich um gesunde Meere.
EU-Bürger sorgen sich um gesunde Meere.
 
CSS3 Entwicklung
CSS3 EntwicklungCSS3 Entwicklung
CSS3 Entwicklung
 
Charte du forum de la société civile fr-
Charte du forum de la société civile  fr-Charte du forum de la société civile  fr-
Charte du forum de la société civile fr-
 
Annales des mines : Yves le Mouel FFTélécoms
Annales des mines : Yves le Mouel FFTélécomsAnnales des mines : Yves le Mouel FFTélécoms
Annales des mines : Yves le Mouel FFTélécoms
 
Bebida refrescante
Bebida refrescanteBebida refrescante
Bebida refrescante
 
Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014
 
Universidad central del ecuador
Universidad central del ecuadorUniversidad central del ecuador
Universidad central del ecuador
 
Ma ville .meknes
Ma ville   .meknesMa ville   .meknes
Ma ville .meknes
 
Histoire de joué 6 les chateaux
Histoire de joué 6   les chateauxHistoire de joué 6   les chateaux
Histoire de joué 6 les chateaux
 
Krise
KriseKrise
Krise
 
Le pôle national éducation au développement durable
Le pôle national éducation au développement durableLe pôle national éducation au développement durable
Le pôle national éducation au développement durable
 
Présentation ma ville_changsha
Présentation ma ville_changshaPrésentation ma ville_changsha
Présentation ma ville_changsha
 
Compte rendu job tour
Compte rendu job tourCompte rendu job tour
Compte rendu job tour
 
Action humanitaire de l’UNICEF pour les enfants
Action humanitaire de l’UNICEF pour les enfantsAction humanitaire de l’UNICEF pour les enfants
Action humanitaire de l’UNICEF pour les enfants
 
Conférence changer de vie cle de vie - 1.12.2012 - dr. emeric lebreton (1)
Conférence changer de vie   cle de vie - 1.12.2012 - dr. emeric lebreton (1)Conférence changer de vie   cle de vie - 1.12.2012 - dr. emeric lebreton (1)
Conférence changer de vie cle de vie - 1.12.2012 - dr. emeric lebreton (1)
 
Reparatur PST-Dateien mit einer effektiven pst reparieren Software
Reparatur PST-Dateien mit einer effektiven pst reparieren SoftwareReparatur PST-Dateien mit einer effektiven pst reparieren Software
Reparatur PST-Dateien mit einer effektiven pst reparieren Software
 
Amourbrunchetsaumonfumé
AmourbrunchetsaumonfuméAmourbrunchetsaumonfumé
Amourbrunchetsaumonfumé
 
Relations commerciales avec un partenaire étranger: quelques points qui mérit...
Relations commerciales avec un partenaire étranger: quelques points qui mérit...Relations commerciales avec un partenaire étranger: quelques points qui mérit...
Relations commerciales avec un partenaire étranger: quelques points qui mérit...
 

Ähnlich wie AT2010 Principes Integration Continue

Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 
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
 
Sonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletSonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletGenevaJUG
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveFreddy Mallet
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011Henri Gomez
 
dev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéeNicolas Silberman
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing systemLeClubQualiteLogicielle
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
CocoaHeads Rennes #4 : Tests automatisés sur iOS
CocoaHeads Rennes #4 : Tests automatisés sur iOSCocoaHeads Rennes #4 : Tests automatisés sur iOS
CocoaHeads Rennes #4 : Tests automatisés sur iOSCocoaHeadsRNS
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011 ALTER WAY
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests PlanDenis Voituron
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agilelaurent bristiel
 

Ähnlich wie AT2010 Principes Integration Continue (20)

Normandy JUG integration Continue
Normandy JUG integration ContinueNormandy JUG integration Continue
Normandy JUG integration Continue
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Maven
MavenMaven
Maven
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
Sonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletSonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy Mallet
 
Sonar 2.0 au JUG Genève
Sonar 2.0 au JUG GenèveSonar 2.0 au JUG Genève
Sonar 2.0 au JUG Genève
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
DevOps - Retour d’expérience - RivieraDev du 20 Octobre 2011
 
dev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiée
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
CocoaHeads Rennes #4 : Tests automatisés sur iOS
CocoaHeads Rennes #4 : Tests automatisés sur iOSCocoaHeads Rennes #4 : Tests automatisés sur iOS
CocoaHeads Rennes #4 : Tests automatisés sur iOS
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests Plan
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agile
 

Mehr von Normandy JUG

Découvrez les bases de l’ergonomie web : donnez à vos utilisateurs le meilleu...
Découvrez les bases de l’ergonomie web : donnez à vos utilisateurs le meilleu...Découvrez les bases de l’ergonomie web : donnez à vos utilisateurs le meilleu...
Découvrez les bases de l’ergonomie web : donnez à vos utilisateurs le meilleu...Normandy JUG
 
Codeurs En Seine - Lean startup - Matthieu Garde-Lebreton
Codeurs En Seine - Lean startup - Matthieu Garde-LebretonCodeurs En Seine - Lean startup - Matthieu Garde-Lebreton
Codeurs En Seine - Lean startup - Matthieu Garde-LebretonNormandy JUG
 
What makes groovy groovy codeurs en seine - 2013 - light size
What makes groovy groovy   codeurs en seine - 2013 - light sizeWhat makes groovy groovy   codeurs en seine - 2013 - light size
What makes groovy groovy codeurs en seine - 2013 - light sizeNormandy JUG
 
[Codeurs en seine] management & monitoring cloud
[Codeurs en seine] management & monitoring cloud[Codeurs en seine] management & monitoring cloud
[Codeurs en seine] management & monitoring cloudNormandy JUG
 
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Normandy JUG
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Normandy JUG
 
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)Normandy JUG
 
Soirée Ceylon avec Stéphane Epardaud
Soirée Ceylon avec Stéphane EpardaudSoirée Ceylon avec Stéphane Epardaud
Soirée Ceylon avec Stéphane EpardaudNormandy JUG
 
Soirée Guava et Lombok avec Thierry Leriche
Soirée Guava et Lombok avec Thierry LericheSoirée Guava et Lombok avec Thierry Leriche
Soirée Guava et Lombok avec Thierry LericheNormandy JUG
 
Couche Base par Tugdual Grall
Couche Base par Tugdual GrallCouche Base par Tugdual Grall
Couche Base par Tugdual GrallNormandy JUG
 
Apache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetApache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetNormandy JUG
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilNormandy JUG
 
Annotations Java par Olivier Croisier
Annotations Java par Olivier CroisierAnnotations Java par Olivier Croisier
Annotations Java par Olivier CroisierNormandy JUG
 
Spring Batch 17-05-2011
Spring Batch 17-05-2011Spring Batch 17-05-2011
Spring Batch 17-05-2011Normandy JUG
 
ATR2011 - Planning poker
ATR2011 - Planning pokerATR2011 - Planning poker
ATR2011 - Planning pokerNormandy JUG
 
ATR2011 - Scrum dans les tranchées Normandes
ATR2011 - Scrum dans les tranchées NormandesATR2011 - Scrum dans les tranchées Normandes
ATR2011 - Scrum dans les tranchées NormandesNormandy JUG
 
Hibernate vs le_cloud_computing
Hibernate vs le_cloud_computingHibernate vs le_cloud_computing
Hibernate vs le_cloud_computingNormandy JUG
 

Mehr von Normandy JUG (20)

Découvrez les bases de l’ergonomie web : donnez à vos utilisateurs le meilleu...
Découvrez les bases de l’ergonomie web : donnez à vos utilisateurs le meilleu...Découvrez les bases de l’ergonomie web : donnez à vos utilisateurs le meilleu...
Découvrez les bases de l’ergonomie web : donnez à vos utilisateurs le meilleu...
 
Codeurs En Seine - Lean startup - Matthieu Garde-Lebreton
Codeurs En Seine - Lean startup - Matthieu Garde-LebretonCodeurs En Seine - Lean startup - Matthieu Garde-Lebreton
Codeurs En Seine - Lean startup - Matthieu Garde-Lebreton
 
What makes groovy groovy codeurs en seine - 2013 - light size
What makes groovy groovy   codeurs en seine - 2013 - light sizeWhat makes groovy groovy   codeurs en seine - 2013 - light size
What makes groovy groovy codeurs en seine - 2013 - light size
 
[Codeurs en seine] management & monitoring cloud
[Codeurs en seine] management & monitoring cloud[Codeurs en seine] management & monitoring cloud
[Codeurs en seine] management & monitoring cloud
 
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
 
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)
Gatling : Faites tomber la foudre sur votre serveur ! (Stéphane Landelle)
 
Soirée Ceylon avec Stéphane Epardaud
Soirée Ceylon avec Stéphane EpardaudSoirée Ceylon avec Stéphane Epardaud
Soirée Ceylon avec Stéphane Epardaud
 
Soirée Guava et Lombok avec Thierry Leriche
Soirée Guava et Lombok avec Thierry LericheSoirée Guava et Lombok avec Thierry Leriche
Soirée Guava et Lombok avec Thierry Leriche
 
Couche Base par Tugdual Grall
Couche Base par Tugdual GrallCouche Base par Tugdual Grall
Couche Base par Tugdual Grall
 
Java7 normandyjug
Java7 normandyjugJava7 normandyjug
Java7 normandyjug
 
Apache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume NodetApache, osgi and karaf par Guillaume Nodet
Apache, osgi and karaf par Guillaume Nodet
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
 
Annotations Java par Olivier Croisier
Annotations Java par Olivier CroisierAnnotations Java par Olivier Croisier
Annotations Java par Olivier Croisier
 
Spring Batch 17-05-2011
Spring Batch 17-05-2011Spring Batch 17-05-2011
Spring Batch 17-05-2011
 
ATR2011 - Planning poker
ATR2011 - Planning pokerATR2011 - Planning poker
ATR2011 - Planning poker
 
ATR2011 - Scrum dans les tranchées Normandes
ATR2011 - Scrum dans les tranchées NormandesATR2011 - Scrum dans les tranchées Normandes
ATR2011 - Scrum dans les tranchées Normandes
 
Hibernate vs le_cloud_computing
Hibernate vs le_cloud_computingHibernate vs le_cloud_computing
Hibernate vs le_cloud_computing
 
HTML5 en projet
HTML5 en projetHTML5 en projet
HTML5 en projet
 
Git
GitGit
Git
 

Kürzlich hochgeladen

SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 

Kürzlich hochgeladen (10)

SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 

AT2010 Principes Integration Continue

  • 1. Principes d'intégration continue Dimitri BAELI VP Quality at eXo Platform Octobre 2010
  • 2. Dimitri BAELI Enterprise Scrum Master VP Quality Support Level 3 eXo Platform Organisation des développements SysAdmins Teams Release Process Ensimag 98 QA Teams
  • 3. De quoi on va parler ?
  • 5. Les Fondamentaux Le « Joel Test » La qualité L’agilité En continu !
  • 6. Les Fondamentaux Le « Joel Test »
  • 7. Le Joel Test 1- Utilisez-vous un gestionnaire de sources ? 2- Vos binaires sont-ils assemblés en une fois ? 3- Vos binaires sont-ils produits quotidiennement ? 4- Avez-vous un gestionnaire d'anomalies ? 5- Le code est-il corrigé avant d'être étendu ? 6- Avez-vous un planning à jour ? 7- Avez-vous des spécifications ? 8- Vos développeurs sont-ils dans un lieu calme ? 9- Avez-vous les meilleurs outils lié à votre budget ? 10- Avez-vous des testeurs ? 11- Les candidats écrive du code ? 12- Les développeurs font-ils faire des tests par des passants ?
  • 8. Et équipe qui ne fournit pas un niveau de qualité consistant Le Joel Test Si vous avez moins de 10 au Test de Joel Vous avez de sérieux problèmes !
  • 9. Le Joel Test 1- Utilisez-vous un gestionnaire de sources ? 2- Vos binaires sont-ils assemblés en une fois ? 3- Vos binaires sont-ils produits quotidiennement ? 4- Avez-vous un gestionnaire d'anomalies ? 5- Le code est-il corrigé avant d'être étendu ? 6- Avez-vous un planning à jour ? 7- Avez-vous des spécifications ? 8- Vos développeurs sont-ils dans un lieu calme ? 9- Avez-vous les meilleurs outils lié à votre budget ? 10- Avez-vous des testeurs ? 11- Les candidats écrive du code ? 12- Les développeurs font-ils faire des tests par des passants ?
  • 10. Joel Test Référentiel Gestion des conflits Historique Reproductibilité Traçabilité Visibilité (Fisheye, SVNSearch) Outils : SVN, Mercurial, VSS 1- Un gestionnaire de sources
  • 11. Joel Test Sinon Il est source d'erreurs Sinon il est joué moins souvent Sinon il dépend de certaines personnes Sinon les risques d’échec augmentent à l'approche de la livraison Mais Il faut aller du début à jusqu'au bout ! Outils de build : Maven, Ant, NAnt 2 - Assemblage en une étape
  • 12. Joel Test 3 - L’assemblage quotidien Usine de build : Cron, CruiseControl(.net), Hudson, Bambou, ... Un nouveau jour se lève Prévenir plutôt que guérir Objectivité (« ça marche chez moi ! ») Donner confiance Prise de conscience de l'impact d'un commit Et les tests !
  • 13. Joel Test 9- Vous n’avez pas les meilleurs outils que vous puissiez vous payer ? De gratuit à très cher Adaptés ou non ? Modernes ou historiques ? Maitrisé par vos équipes ? Il en existe beaucoup ! De gratuit ou très cher Simples ou trop compliqué
  • 14. Joel Test 9- Les meilleurs outils possible 3 - Assemblage quotidien 2 - Assemblage en une étape 1- Un gestionnaire de sources 4 points de gagnés !
  • 15. Les Fondamentaux La qualité 1. Les niveaux de finition 2. La gestion du risque
  • 16. La qualité – Niveau 0: Prototype / Coin de table : l'idée – Niveau 1: Binaire interne : l'équipe – Niveau 2: Diffusion publique non supportée – Niveau 3: Support en production Les niveaux de finition
  • 17. La qualité – Niveau 0 - Prototype : A chaque grand changement – Niveau 1 - Equipe : Régulièrement – Niveau 2 - Diffusable : 1 ou 2 jours à chaque Jalon – Niveau 3 - Production : Bientôt ! Combien de temps votre dernier livrable à passé dans chaque niveau ? Les niveaux de finition
  • 18. Les Fondamentaux L’agilité 1- Le manifeste agile 2- Les principes 3- Les pratiques
  • 19. L'agilité – Collaboration avec le client – Un produit opérationnel – La réactivité face au changement – Des hommes plutôt que des processus Le manifeste agile Prendre du plaisir à développer
  • 20. L'agilité – Livraison fréquentes – Cycles courts – Une Equipe – Rythme soutenable – Produit en état de marche en continu Les principes Du bon sens !
  • 21. L'agilité – Test Driven Developpement – Pair Programming – Spécifications exécutables – Démonstration par les développeurs 3- Les pratiques Scrum - XP - Kanban - Lean
  • 23. Connaître la qualité des livrables o En toute indépendance o De façon reproductible o Sur tous les environnements o En permanence Prévenir les erreurs o Uniquement les vraies erreurs o Compréhensibles o Rapidement En continu !
  • 24. En continu Partager un état commun o En équipe o Ecrire des tests probants o Commit atomique (un seul sujet) o Régler les problèmes sur le champ o Commit fréquent L'essentiel c’est o La livraison du produit qui marche o Satisfaire le client o Avec de la productivité
  • 26. Des questions avant de parler mise en oeuvre ?
  • 27. La Chaine d’intégration continue Le cycle de build La chaine d’intégration Le minimum vital
  • 28. La Chaine d’intégration continue La chaine d’intégration
  • 29. Chaine d’intégration Source Vincent Massol - Pivolis 2004
  • 31. Cycle de build 1. Récupération des sources 2. Récupération des binaires tiers 3. Compilation 4. Tests unitaires 5. Analyse Qualité du code 6. Tests de Déploiement / Smoke Test 7. Tests d'intégration 8. Génération de la Documentation 9. Packaging 10. Test d'installation 11. Publication des binaires 12. Notification du résultat
  • 32. La Chaine d’intégration continue Des exemples Le strict minimum Exemple PME Exemple Editeur
  • 33. Le minimum • 1 Machine isolée • 1 Accès automatique aux sources • 1 Environnement de compilation propre • 1 Environnement d'exécution vièrge • 1 Build automatisé (script) • 1 Lieu de publication et mails des personnes concernées • … Et de l'huile de coude Le strict minimum
  • 34. PME o Équipe de 4 développeurs/euses o 1 PC a 300€ Exemple PME • SVN o Historique sources • Maven2 o Build source o Gestion (versionnée) des dépendances • Continuum o Build Automatique o Tests unitaires • ArtiFactory o Repository Maven2 • Sonar o Qualité code
  • 35. • Ressources : o Installer le serveur  Compétences Linux o Installer les applicatifs  Compétences Java/Linux o Paramétrer les applicatifs o Affiner les réflexions Coût • 300€ (pc tour) • 5 jours travail PME Exemple PME Bravo Laurent !
  • 36. eXo Platform eXo Platform : o 100+ devs sur 4 pays: Vietnam, Ukraine, France, Tunisie o Méthodologie Agile : Scrum o 16+ equipes o 6 Projets Open Source sur 4 Niveaux o eXo JCR o eXo Portal : GateIn en co-développement avec JBoss (10p) o eXo Content : WCM + DMS + Workflow o eXo Collaboration, eXo Knowledge, eXo Social, xCMIS, eXo IDE o 1 produit = eXo Platform 3.0.0 Exemple Editeur
  • 37. eXo Platform o Environnements cible : o 3 AS = JBoss, Tomcat, Weblogic o 2 OS = Windows, RHEL o 3DB = MySQL, Oracle, o 3 Navigateurs = Chrome, FF, IE7 => 300+ configurations o Code : Java, Xml, Html, JavaScript, iPhone o IDE : Eclipse, Intellij Idea o Source : Svn, GoogleCode, JBoss.org Exemple Editeur
  • 38. o Build : Maven + Extensions o 200+ projets de build o Usine : o Hudson : http://builder.exoplatform.org o Sonar (en test) : http://sonar.exoplatform.org o Management : o Jira : http://jira.exoplatform.org o Fisheye + Crucible : http://fisheye.exoplatform.org o Serveurs sur Amazon EC2 (mode hébergé) ! Exemple Editeur Bravo Arnaud !
  • 39. Exemple Editeur Hudson - eXo - 20100923
  • 40. Exemple Editeur Hudson - eXo - 20100923
  • 41. Mise en oeuvre Outils de build Outils de test Usines Logicielles Coups de coeur Outils de build
  • 42. Build • Scripting: • Ant, Nant, Ivy • Maven2, Maven3, NMaven • Gradle • PlayFramework! (c'est embarqué) • Gestion des binaires (dépendances): • Nexus • Artifactory • Apache, Svn, Ftp ! Outils de build
  • 43. Testing - Unitaire: JUnit, TestNG, Nunit - Calcul de couverture : Covertura, Emma - Graphique: Selenium, Abbot - Performances: JMeter, SoapUI, LoadRunner, ... - Analyse de code: FindBug, CheckStyle, - Tests Fonctionnels exécutables: - FitNess, GreenPepper Outils de test
  • 44. Usines Le précurseur : Cruise Control Choisir une usine : http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix Les usines modernes : TeamCity : bonheur du développeur Bamboo : complet et reporting Hudson : simple et efficace Cruise : l'intellectuel Usines Logicielles
  • 45. o Analyse du code o Une plateforme de gestion de la qualité o Suivi des règles de développement o Suggestion d'action Coups de coeur http://nemo.sonar.codehaus.org - Qualité du code de Maven 3.0 La dette technique sous surveillance http://www.sonarsource.org
  • 46. La platform de build sur le nuage - DEV@Cloud - RUN@Cloud http://www.cloudbees.com Coups de coeur
  • 47. o Tests fonctionnels exécutables Coups de coeur http://www.greenpeppersoftware.com
  • 48. Bibliographie - Martin Fowler http://martinfowler.com/articles/continuousIntegration.html - Joel on software http://french.joelonsoftware.com/Articles/TheJoelTest.html - Manifeste Agile http://fr.wikipedia.org/wiki/Manifeste_agile Merci à : - Vincent Massol (PMD Maven, Maitre en Enterprise Build) - Arnaud Héritier (PMD Maven, Maitre en Hudson, Confluence, Jira) - Kohsuke Kawaguchi (pour l’invention d’hudson)