15-19 février 2009 – Paris La Défense Exemplaire Mr Anthony HERBE

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Mais vous comprenez qu’il s’agit d’une « tromperie ».
Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Licence pro MPCQ : Cours
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
- Formation Flex (Introduction)‏ - Formation Flex 1 1.
11 Bienvenue Entrez le nom du groupe ou projet ici mardi, 17 novembre 2009.
13/04/05 - RB1 Montpellier 24/03/2005 Les interactions entre le SSO ESUP et le mécanisme de propagation d'identité
Etat d'avancement ORI-OAI Interaction avec les ENT.
International Telecommunication Union Accra, Ghana, June 2009 Relationship between contributions submitted as input by the African region to WTSA-08,
Les numéros 70 –
Les numéros
Les identités remarquables
Le, la, les words Possessive Adjectives MINE!!. 2 My in french is mon, ma,mes... Le word/ begins with a vowel: Mon La word: Ma Les word: Mes.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
L’intégration continue
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
Introduction à la logique
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Technologies et pédagogie actives en FGA. Plan de latelier 1.Introduction 2.Les technologies en éducation 3.iPads 4.TNI 5.Ordinateurs portables 6.Téléphones.
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
SERABEC Simulation sauvetage aérien avec un Hercule C130. Départ de St-Honoré le 4 octobre Durée de vol 3 heures. Premier vol en Hercule pour les.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
La méthodologie………………………………………………………….. p3 Les résultats
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Les outils d’intégration continue
Subversion un logiciel libre de gestion de configuration
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Présentation générale
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Si le Diaporama ne s'ouvre pas en plein écran Faites F5 sur votre clavier.
Titre : Implémentation des éléments finis sous Matlab
Configuration de Windows Server 2008 Active Directory
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Des outils pour le développement logiciel
LES NOMBRES PREMIERS ET COMPOSÉS
Logiciel gratuit à télécharger à cette adresse :
Les chiffres & les nombres
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
RACINES CARREES Définition Développer avec la distributivité Produit 1
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Titre : Implémentation des éléments finis en Matlab
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Aire d’une figure par encadrement
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
Les fondements constitutionnels
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Tour d’horizon des outils d’aide au développement Java
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Certains droits réservés pour plus d’infos, cliquer sur l’icône.
Outil de gestion des cartes grises
Annexe Résultats provinciaux comparés à la moyenne canadienne
Subversion, un outil de gestion de version
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
Subversion.
Ant Introduction Jean-Jacques LE COZ. Outils de construction de projets ➢ Pour livrer un produit logiciel ➢ Compiler ➢ Documenter ➢ Packager ➢ Déployer.
Transcription de la présentation:

15-19 février 2009 – Paris La Défense Exemplaire Mr Anthony HERBE Formation INTEGRATION CONTINUE 15-19 février 2009 – Paris La Défense Exemplaire Mr Anthony HERBE Participant : Mr Frédéric MULLER 1 1

SOMMAIRE A propos d’Objis Introduction intégration continue Gérer les sources avec Subversion Automatiser et générer rapports avec MAVEN Intégration continue avec Cruise Control Contact www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 2

A propos d’objis Spécialiste formation JAVA depuis 2005 70% de travaux pratiques Bilan pédagogique individuel Veille technologique permanente Une approche unique de la formation Expertise, pédagogie, partage www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 3

+ de 100 tutoriaux Java/j2ee sur www.objis.com Nos tutoriaux pour vous initier Nos formatrions pour maîtriser Soa, Web Services, Spring, Struts, Hibernate, Ant, Maven, … www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 4

INTRODUCTION Qu’est ce que l’intégration continue ? Pourquoi automatiser ? Par où commencer ? Le cycle vertueux de l’intégration continue www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 5

Qu’est ce que l’intégration continue ? Technique puissante permettant dans le cadre du développement d’un logiciel en équipes de: Garder en phase les équipes de dév Limiter risques de dérive Limiter la complexité A intervalles réguliers, vous allez construire (build) et tester la dernière version de votre logiciel. Parrallèlement, chaque développeur teste et valide (commit) son travail en ajoutant son code dans un lieu de stockage unique. www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 6

Pourquoi automatiser ? Gagner du temps Vous ne faîtes pas de taches répétitives Gagner en confiance Indépendant de votre efficacité du moment Procédures répétables Diminue le besoin de documentation Pour nouveaux entrants projet, utiliser scripts ! …et + en analysant le script. www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 7

Par où commencer ? 1) Outil centralisé gestion versions code sources Lieu unique de partage Retour arrières, snapshots, branches… 2) Tests unitaires automatisés Chaque développeur 3) Scripts Coté serveur pour automatiser (Ex : crontab) 4)Outils de communication Mail, Tél, Rss… www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 8

Cycle vertueux intégration continue www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING

Gérer les sources avec SUBVERSION Introduction et problème à résoudre Concepts fondamentaux Subversion au jour le jour Branches et Tags Administration Ressources et liens utiles www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 10

Introduction Subversion est un système de contrôle de versions (ou gestionnaire de sources). Subversion autorise plusieurs personnes à travailler sur des documents communs (chacun en ayant une copie locale) Subversion permet : synchronisations entre les différentes versions de ces documents retours arrière (undo) vers versions plus anciennes, suivi modifications au cours du temps. www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 11

Problème à résoudre www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 12

Solution 1 : le lock www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 13

Solution 2 : copy-modify-merge (phase1)‏ www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 14

Solution 2 : copy-modify-merge (phase2)‏ www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 15

www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING Architecture SVN Formation SUBVERSION www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 16

svn checkout http://monsite.com:4567/repos URL accès Repository svn checkout http://monsite.com:4567/repos svn checkout https://monsite.com:3798/repos svn checkout file:///var/svn/repos svn checkout file:///C:/var/svn/repos svn checkout svn://localhost/repository1 svn checkout ssh+svn://localhost/repository/monprojet www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 17

Arborescence www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 18

Copie de travail (svn checkout) Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 19

Subversion au jour le jour Mettre à jour votre copie de travail svn update Réaliser des modifications svn add svn delete svn copy svn move Examiner vos changements svn status svn diff Publier vos changements svn commit Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 20

Désactivation cache login/passwd Par défaut, et pour vous éviter à chaque fois de fournir login/pwd, Subversion met en cache version criptée login/pwd Répertoire %APPDATA%/Subversion/auth c:\Documents And Settings\douglas\Appli_Data Fichier 'conf' store-auth-creds = no www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 21

svnadmin create c:\svn_repository\repository1 Import d'un projet : Repository & projets Création : svnadmin create c:\svn_repository\repository1 Import d'un projet : svn —username douglas —password java import monprojet1 svn://localhost/repository1/monprojet1 -m "Import initial projet 1" Contrôle d’accès au repository conf\svnserve.conf et conf\passwd Organisation repository & projet 1 repository par projet ? www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 22

Révisions Dès qu’un fichier est modifié, c’est la révision de tous les fichiers qui s’incrémente (différence forte avec CVS) www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 23

Branches et Tags www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 24

Branches et Tags Bonne pratique : répertoires trunk, tags, branches pour chaque projet www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 25

Branche www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 26

Création d’une branche svn copy http://svn.example.com/repos/calc/trunk http://svn.exeample.com/repos/calc/branches/mabranche-calc -m «  création d’une branche de trunk» www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 27

Création d’une branche de développement Changer de branche : Branches et tags Création d’un tag svn copy monprojet/trunk monprojet/tags/release-1.0-snapshot Création d’une branche de développement svn copy monprojet/trunk monprojet/branches/prepa-dev-1.1 Changer de branche : svn switch monprojet/branches/prepa-dev-1.1 Merge vers branche principale Juste pour voir : svn merge –r 11:16 –dry-run Pour de vrai : svn merge –r 11:16 Revenir à version précédente svn merge –r 16:11 www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 28

Administration Subversion svnadmin Création de repository Opérations de maintenance svnlook Examiner révisions (-r) & transactions (-t) Utilisé typiquement par hooks (pré/post commit) svnlook –revision, svnlook –t svnlook info /var/svn/repos –r 19 auteur, date , nb caractère dans log www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 29

Liens utiles SUBVERSION PDF SVN BOOK : http://svnbook.red-bean.com/ Site Subversion : http://subversion.tigris.org/ Client svn Subclipse http://subclipse.tigris.org/ plugin Eclipse 3.x Client svn windows Tortoise SVN http://tortoisesvn.tigris.org/ www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 30

Gestion de projet avec MAVEN Définition pour un développeur Définition pour un chef de projet Comparaison avec ANT Démo application multi-modules internationale www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 31

Qu’est ce que MAVEN ? Pour développeur/concepteur : outil de build Pour Chef de projet : outil de gestion de projet Maven est un outil de gestion projet caractérisé par le modèle POM (Project Object Model) Un ensemble de standards Un cycle de vie de projet Un système de gestion des dépendences Une stratégie d'exécution d'objectifs (goals) standard à chaque phase d'un projet Un ensemble de plugins implémentant des services www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 32

MAVEN : les conventions Propriétés communes à un projet Maven Installation plus facile !!! Ex : mvn install Les sources dans $HOME/src/main/java Ex : Employe.java Les tests dans $HOME/src/test Ex : EmployeTest.java Les configs dans $HOME/src/main/resources Ex : database.properties www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 33

MAVEN : les conventions Dans fichier pom.xml, vous décrivez votre projet : Quelle licence ? (<licence>) Quels développeurs ? (<developpers>) Quelles dépendences ? (<dependencies>) Quel outil gestion des sources ? (<scm>) Quel site web ? (<site>) Quels plugins (<plugins>)… Vous définissez de façon unique votre projet, en lui associant des 'coordonées' = ensemble d'identifiants : GroupId : groupe ds lequel le projet se trouve ArtifactId : nom du projet Version : version du projet www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 34

MAVEN : les conventions Coordonnées MAVEN www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 35

MAVEN : POM (Project Object Model) Gestion de dépendences Via 'coordonnées' maven de la dépendence Repositories distants Une dépendance peux se trouver sur repository distant (Ex : .jar sur autre serveur) Réutilisabilité Plugins Maven (Installation, configuration, personalisation) Portabilité Intégration avec IDE : Netbeans, Eclipse, jBuilder... Recherche simplifiée d'artifacts mvnrepository.com ou index Nexus www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 36

Comparaison ANT / MAVEN MAVEN a des conventions. Il sait déja où sont les sources, les tests, les fichiers de config... Classes créées dans target/classes Création de Jars. MAVEN est déclaratif. Tout ce que vous avez à faire est de créer un fichier pom.xml et mettre vos sources dans le répertoire par défaut. Un projet MAVEN possède un cycle vie, que vous invoquez lorsque vous lancez mvn install. Maven execute un ensemble d'instructions associées au cycle de vie du projet www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 37

Comparaison ANT / MAVEN Cibles ANT www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 38

MAVEN : plugin, goal, Mojo . Exemple avec le plugin ‘help’ Le plugin help possède 4 goal (taches) Chaque goal implémenté par un Mojo (classe Java) help:describe fournit des infos sur un plugin/goal Mvn help:describe –Dplugin=help Mvn help:describe –Dplugin=help -Ddetail Mvn help:describe –Dplugin=help -Dfull Mvn help:describe –Dplugin=help -DMojo=system –Dfull Les autres (help:active-profiles, help:effective-pom, help:effective-settings) se lancent à partir de la racine d’un projet maven (pom.xml) www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 39

Cibles Maven # mvn compile Compilation dans target/classes # mvn package Création du Jar # mvn install Création du Jar et install. Repository local $USER_HOME/.m2/repository # mvn clean Suppression du répertoire target www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 40

Maven : cycle de vie et relation Phases / Plugins www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 41

Phases Maven www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 42

Sections principales d’un pom.xml Coordonnées Maven Construction : <build> Plugins phase build : <plugins> Génération de rapports : <reporting> Stockage artifacts (livrables) : <repository> Dépendances : <dependencies> Optimisations <dependencyManagement> <pluginManagement> www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 43

Dépendances : plugin dependency mvn dependency:resolve (lister dépendances) mvn dependency:tree (arbre des dépendances) mvn dependency:tree -X (arbre : mode debug) Utile pour résolution de pb Equivalent graphique via plugin m2eclipse www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 44

Plugin Eclipse m2eclipse Création projet Maven Intégration avec serveur gestion sources Combinaison plugins Subclipse / m2eclipse Synchronisation dépendences eclipse / maven Editeur pom.xml Livre maven book Instal. dépendances/plugin (index Nexus) Graphe de dépendances www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 45

Plugin Eclipse m2eclipse : exemple graphe dépendances www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 46

Plugin Eclipse m2eclipse : l’index Nexus en action pour création projet www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 47

Exemple de projet multi modules Plusieurs équipes de développements France, Suède, Maroc, Brésil, Italie, USA Chef de projets basé en France Besoin de suivi avancement travaux (Quantité + qualité) Architecture en couche Technologies : Struts, Spring, Hibernate www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 48

Architecture Model presentation service persist www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 49

Projet Maven multi-modules Chef de projet principal : vous ! www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 50

Projet Maven multi-modules (Composition) Mvn install sur le parent entraîne aussi mvn install sur modules enfant www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 51

Focus couche persistence : les sources www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 52

Focus couche persistence : les fichiers de propriétés www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 53

Focus couche persistence : les dépendences www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 54

Focus couche persistence : relation avec parent Le module hérite de certaines propriétés du parent (ex : éépendences) . Cela allège le pom.xml du module (Héritage) www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 55

Focus couche persistence : les rapports www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 56

Focus couche persistence : code DAO www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 57

Projet Maven : compilation globale > mvn clean install www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 58

Projet Maven : génération site > mvn site www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 59

Projet Maven : rapport qualité de code (checkstyle) www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 60

Projet Maven : rapport respect normes de développement www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 61

Rapports Maven : Exemples 1/2 Ajouter dans la section <reporting> du pom.xml www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 62

Rapports Maven : Exemples 2/2 Ajouter dans la section <reporting> du pom.xml www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 63

Gestionnaire repository Maven Offre du marché : Archiva : http://archiva.apache.org Artifactory : http://jfrog.org Nexus : http://nexus.sonatype.org par équipe Maven, + moderne, nombreux plugins Critères d’évaluation Cycle de livraison Modèle de déploiement (war) Proxy/Cache de repositories (maven central, codehaus..) Règles d’inclusion / exclusion Conversion à la volée de Maven2/Maven1 integration eclipse (Uniquement index Nexus) Recherche/indexation Matrice de comparaison : http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 64

Liens utiles MAVEN Site Maven : http://maven.apache.org Maven book (pdf) : Anglais : http://www.sonatype.com/book Plugin Eclipse (m2eclipse): http://maven.apache.org/eclipse-plugin.html Tutoriel Maven Objis : http://www.objis.com/formation-java/tutoriel-formation-maven-2.html www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 65

RAPPEL définition intégration continue ? Technique puissante permettant dans le cadre du développement d’un logiciel en équipes: Garder en phase les équipes de dév. Limiter risques Limiter la complexité A intervalles réguliers, vous allez construire (build) et tester la dernière version de votre logiciel Parrallèlement, chaque développeur teste et valide (commit) son travail en ajoutant son code dans un lieu de stockage unique. www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 66

Exemple de produits serveurs intégration continue CruiseControl : http://cruisecontrol.sourceforge.net Le plus ancien. Couplage historique avec ANT + intégration repositories marché :cvs,svn,cc,vss… + plugins pour intégration Maven1, Maven2, Nant + nombreuses notifications :mail,ftp,rss,im,blog,x10 + builds parrallèles et distribués - courbe d’apprentissage & prise en main Hudson : http://hudson-ci.org + prise en main très rapide (hudson.war) + Administration full web & intuitive + intégration avec Bugzilla - faible intégration repositories (cvs/svn en natif). Ajouter plugins www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 67

Critères de comparaison de serveurs d’intégration continue Matrice de comparaison serveurs http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix Critères comparaison : Combien de serveurs gestion version supportés ? Combien de stratégies de notification ? Combien d’outils de build supportés ? Capacité à réaliser des builds en parralèle ? Capacité à réaliser des builds distribués ? Capacité à réaliser builds manuel ou planifiés ? Intégration avec outil gestion bug ? Intégration IDE ? Facilité d’installation ? Administration ? www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 68

Configuration CruiseControl Configuration manuelle : fichier CC_HOME\config.xml <project> : nom du projet (attribut ‘name’) <publishers> : méthodes notifications résultat build <bootstratppers> : quelle tache avant le build ? <modificationset> : où sont les sources à scruter ? <schedule> : que lancer (script ant, maven…) <log> : pour affichage logs build sur console web Configuration graphique avec CC-Config Instructions : cc-config.sourceforge.net/install.html http://cc-config.sf.net/release/cruisecontrol-gui.jnlp www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 69

Exemple configuration www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 70

Configuration CruiseControl : Notification par mail 1 www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 71

Configuration CruiseControl : projet Maven 2 sous Subversion Déclaration Accès sources SUBVERSION Récupération source SUBVERSION pour un projet maven2 3 www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 72

CruiseControl : détail résultat build www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 73

CC-Config : Configuration & Monitoring graphique www.objis.com - INTEGRATION CONTINUEwww.objis.com - Formation SPRING 74

www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING Bibliographie SVN Book Editions O’Reilly 407 pages Java Power Tools 932 pages Ant in action Editions Manning 600 pages Maven book 420 pages www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 120

Contact : Douglas Mbiandou Ingénieur INSA Lyon (2000) 10 ans d'expériences projets SI Architecte / Formateur Java Responsable formations Objis douglas.mbiandou@objis.com Tél : 04 78 29 37 26 / 06 60 46 76 45 www.objis.com - Formation INTEGRATION CONTINUE www.objis.com - Formation SPRINGwww.objis.com - Formation SPRING 76