Outils supportant le DEVeloppement, le déploiement et la maintenance collaborative des Applications (ODEVA)



Documents pareils
Outils supportant le DEVeloppement, le déploiement et la maintenance collaborative des Applications (ODEVA)

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Outils supportant le DEVeloppement, le déploiement et la maintenance collaborative des Applications (ODEVA)

Systèmes de gestion de code source

Les systèmes de gestion de version

Motivations (many2many) Motivations (many2one) Sur le thème de la Version. La gestion de version. La gestion de configuration.

La magie de SVN. Découverte & usage du logiciel

Serveur Subversion Debian GNU/Linux

Projet de développement

Contrôle de versions et travail collaboratif. Organisation du travail collaboratif. Organisation du travail collaboratif

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT

Formation subversion (svn) Marc-Olivier Buob

Environnement de Développement Outils Open-Source d'integration Continue. Exemple de Mise en Oeuvre

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

Environnements de développement (intégrés)

Serveur de travail collaboratif Michaël Hoste -

L Intégration Continue & Agilité

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

Outils de développement collaboratif

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

J2EE in practice. Olivier Liechti Patrik Fuhrer. Department of Informatics. Computer Science Master Course - SH 2004/05

C.M. 1 & 2 : Prise en main de Linux

Utiliser Subversion (SVN) avec Tortoise

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Utiliser l'atelier de développement V3

HDDtoGO. Guide de l'utilisateur

Le système de gestion de version Git et GitHub

PRODUCTS LIST (updated 11th January 2010)

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques

Groupe Eyrolles, 2006, ISBN :

Correspondances Windows-Linux

TD/TP 1 Introduction au SDK d Android

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com

MailStore Server 7 Caractéristiques techniques

Projet De Stijl Plate-forme pour robots mobiles

SonarQube : une autre vision de votre logiciel

Point sur les solutions de développement d apps pour les périphériques mobiles

Présentation Alfresco

JOnAS Day 5.1. Outils de développements

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

SYSTÈME DE GESTION DE FICHIERS

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Oracle Database 11g: Administration Workshop I Release 2

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Tutoriel git. Régis Briant, Youngseob Kim & Dmitry Khvorostyanov. Table des matières. 1 Configurer git 2

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

ADMINISTRATEUR WINTEL Dominique MAHIEU 35 ans WINDOWS 2008/2003, ACTIVE DIRECTORY, EXCHANGE, CITRIX, VMWARE

Modelio by Modeliosoft

2 Formation utilisateur

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA. 32 ans - 6 ans d'expérience

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - Android. 29 ans - 5 ans d'expérience

BMC Middleware Management

L3 informatique TP n o 2 : Les applications réseau

Catalogue Formations Jalios

Architecture de la plateforme SBC

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

ELOECM Conference2015

Refonte front-office / back-office - Architecture & Conception -

Sauvegardes par Internet avec Rsync

IBM Tivoli Compliance Insight Manager

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

L utilisation du réseau ISTIC / ESIR

31 ans - 8 ans d'expérience

SQL Server, MySQL, Toad (client MySQL), PowerAMC (modélisation) Proxy SLIS

Marie-Christine Spengler

OmniVista 2700 Application complémentaires pour l OmniVista 2500 Network Management

FORMATION WS0803 CONFIGURATION ET DEPANNAGE DE L'INFRASTRUCTURE RESEAU WINDOWS SERVER 2008

Installation et prise en main

La double authentification dans SharePoint 2007

Présentation du module Base de données spatio-temporelles

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Groupe Eyrolles, 2004 ISBN :

SP4 Intégration et métrologie Lot 4.1 Spécification de l'intégration

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

Jimmy Clairbois. Projets réalisés dans le cadre professionnel

Description de l implantation dans le centre d examen (nom du service ou de l outil et caractéristiques techniques)

Z i e d Z a i e r ( )

MailStore Server. La référence en matière d archivage d s

NAS 109 Utiliser le NAS avec Linux

Hachette Education/ Secondaire général Procédure d installation du Manuel numérique MN2.0 Version PC

Burckel Thomas. Formation. Compétences

CHEF DE PROJET & ARCHITECTE.NET SAMIR BENFARES FORMATION LANGUE COMPÉTENCES TECHNIQUES CERTIFICATION

KIT DE DÉMARRAGE SHAREPOINT DANS MICROSOFT AZURE

Mendeley, pour gérer sa bibliographie et la partager. Patricia Volland-Nail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Arcserve unifié UNE SOLUTION UNIQUE

ésylog, direction technique Esylog_PeerBackup outil de sauvegarde individuelle mails & fichiers personnels documentation technique

Warren PAULUS. Android SDK et Android x86

Transcription:

Outils supportant le DEVeloppement, le déploiement et la maintenance collaborative des Applications (ODEVA) a) Systèmes de Contrôle de Versions (Source Control Management) Centralisés : svn Distribués : mercurial, git b) Plateformes de tests : JUnit, Selenium c) Outils de déploiement : maven d) Outils de qualité : sonar e) Intégration continue : hudson, jenkings f) Suivi intégré de projets : trac, redmine 1

Système de Contrôle de Versions Plusieurs développeurs travaillent ensemble sur le même projet Chacun dispose de sa copie locale Chacun met à disposition des autres les dernières modifications Co-développement, contrôle de distributions, maintenance. Evolution des changements subis par un ensemble de fichiers 2

Pourquoi le contrôle de versions? Garder (ad-hoc) différentes versions d'un même projet Chaque fichier est répliqué à chaque modification du projet Organisation et discipline très stricte Utilisation de systèmes de contrôle de versions Développeur déchargé de l'organisation de versions Optimisation de l'espace de stockage Utilisation de delta-encoding Edition simultanée d'un même fichier Gestion de conflits 3

Système de Contrôle de Versions Mise en oeuvre générale Une ou plusieurs machines gardent la version courante et l'historique d'un projet Un client se connecte à une machine dédiée afin de récupérer une copie intégrale de la dernière version - check out le client travaille sur sa copie et ultérieurement transmet les changements - check in/commit Note: le SCV/SCM n'accepte que des mises à jours sur la dernière version 4

Système de Contrôle de Versions check out check in SCV check out check in 5

Modèles de management SVC Systèmes de contrôle centralisé gère les conflits en utilisant: Blocage de fichier mécanisme Check-out/check-in Mixage de versions (version merging) 1 er check-in toujours réussi lors du 2 eme check-in l'on présente les différences au développeur 6

Glossaire SCV Trunk versions suivant la ligne principale de développement Branch différents lignes de développement du projet Tags branche du projet n'évoluant plus Head la dernière version/le dernier Commit Checkout création d'une copie locale Update mise à jour de la copie locale Merge Intégration des changements sur le même fichier Commit les modifications locales sont transmises au SCV Export crée une copie locale coupée du SCV Import copie (1 ere fois) un répertoire dans le SCV 7

Architectures SCV Centralisé Distribué - P2P Copie Locale Copie Locale Entrepôt pull/clone Check-Out Update Entrepôt central Entrepôt X Entrepôt Copie Locale Commit Copie Locale push Entrepôt Entrepôt 8 Merge

Architectures SCV Architectures client-server Revision Control System (1985) uniquement fichiers Concurrent Version Systems (1986) projets OpenCVS sécurité + contrôle d'accès + fichiers corrects SVN (2000-) Architecture distribuée Git (used by Linux) Mercurial (used by Mozilla et Sun) SVK SVN distribué http://en.wikipedia.org/wiki/comparison_of_revision_contrôle_software 9

CVS et SVN SVN reprend la plus part des fonctions de CVS + l'opération commit est atomique + suppression/déplacement des fichiers/dossiers + contrôle d'accès au niveau des répertoires + support pour tous les MIME types http://svnbook.red-bean.com/ - documentation http://subversion.tigris.org/ - distribution 10

Système de Contrôle de Versions : notions check out check out Copie Locale check in Entrepôt SCV central check in Copie Locale Dossier de travail Note : * Il peut y avoir dans le dossier de travail des fichiers/dossiers qui ne sont pas sous contrôle de version. Dossier de travail 11

SVN organisation Système de fichiers 3D Répertoire fichiers versions. Chaque révision a sa propre racine. Les fichiers sont stockés comme liens à leur dernière version 12

SVN qqs propriétés svn:mime-type retient le MIME type svn:ignore fichiers à ignorer (*.exe) svn:eol-style convertit les fins de lignes dans les fichiers texte svn:externals permet des check-out partiels de certains répertoires svn:needs-lock indique que l'édition du fichier implique la création d'un bloquage 13

SVN ligne de commande svn co svn://svnrepo/hellosite. (CheckOut) svn status svn diff file.xxx svn add file.yyy svn commit -m 'Ajout d'un fichier' svn status -u (prévoir les effets de l'update) svn update 14

Création et Accès au SVN Création de l'entrepôt svnadmin Accès à l'entrepôt En local : file:///path En reseau : svnserve port 3690 plain text or over SSH. svn://host/path access scheme svn+ssh://host/path scheme for SSH tunneling Sur le réseau à travers un serveur web par WebDAV en activant mod_dav_svn d'apache 2 http(s)://webserver/path 15

SVN modifications copie locale Le entrepôt doit en être informé Éviter de dupliquer les sources Utilisation de commandes SVN svn copy/cp svn move/mv svn rm/delete 16

SVN - outils associés SVNKit API Java pour interfaçage SVN Intégration avec Windows Explorer Tortoise SVN, Smart SVN Intégration avec IDEs Netbeans (Subversion plugin), Eclipse (Subeclipse) Microsoft Visual Studio (VisualSVN) Intégration avec Nautilus (Unix) Nautilus SVN WebSVN Online view of repository 17

SVN Exercices https://forge.fil.univ-lille1.fr/odeva/wiki/svnexo Manipulations en ligne de commande Manipulations avec NetBeans/Eclipse Créez votre propre SVN 18

SVN et Netbeans Checkout Team/Subversion/Checkout 19

SVN et Netbeans Checkout 20

SVN et Netbeans Checkout 21

SVN et Netbeans utilisation 22

Création d'entrepôts SVN Création d'entrepôt mkdir /home/user/myrepo/ svnadmin create /home/user/myrepo/ Structure physique d'un entrepôt myrepo/conf configuration & accès myrepo/db encodage des sources et D-coding myrepo/hooks automatisation / actions myrepo/locks Configuration d'accès - myrepo/conf/snvserv.conf [general] anon-access = read auth-access = write realm = My First Repository password-db = passwd 23

SVN limitations et problèmes SVN garde en local de données concernant les versions (répertoires.svn) Problème lorsque l'on souhaite travailler sur plusieurs branches Problème lorsque l'utilisateur modifient directement les.svn SVN n'informe les développeurs des nouvelles versions maj fréquentes SVNNotifier Tout le monde est directement concerné par tous les changements 24