SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Gérer son dépôt de
       code


     RMLL 2011
Qui suis-je ?



»   Jean-Marc Fontaine
»   Consultant pour Alter Way Consulting
»   Président de l'AFUP
»   Formateur / Professeur vacataire à l'université de Saint Quentin
»   Auteur du blog Industrialisation-PHP.com
»   Co-auteur du livre blanc « Industrialisation PHP »
Un outil indispensable



»   On ne travaille jamais seul
»   On oublie
»   On essaye
»   On se trompe
»   Écrire du code n'est qu'une petite partie du travail
Au cœur de l'usine de développement
Centralisé ou décentralisé ?
Dépôts centralisé



»   Approche initiale
»   Topologie en étoile
»   CVS, Subversion, Perforce, SourceSafe
»   Avantages :
    – Workflows simples à comprendre
    – Maintenance centralisée
    – Sécurisation simplifiée
»   Inconvénients :
    – Manque de souplesse
    – Impossibilité de travailler hors-ligne
    – Manipulation de l'historique limitée
Dépôts décentralisés



»   Approche récente
»   Tout le monde est potentiellement client et serveur
»   Git, Mercurial, Bazaar
»   Avantages :
    – Possibilité de travailler hors-ligne
    – Workflows libres
    – Manipulation de l'historique aisée
»   Inconvenients :
    – Sécurisation plus compliquée
    – Courbe d'apprentissage plus longue
Un ou plusieurs dépôts ?
Un dépôt



»    Gestion des accès facilité
»    Dépôt potentiellement très gros
»    Difficulté à gérer finement les droits
»    Impossible à faire avec Git




22/07/11                          ALTER WAY - Titre
Plusieurs dépôts



»    Multiplication des accès
»    Facilité à définir des droits fins
»    Les projets sont indépendants




22/07/11                           ALTER WAY - Titre
Sécuriser son dépôt



»    Gérer les accès
»    Gérer les droits
»    Gérer la communication
       – Utiliser HTTPS ou SSH




22/07/11                         ALTER WAY - Titre
Organiser son dépôt
Gérer les branches (1/2)



»    Branche par version / par fonctionnalités




22/07/11                        ALTER WAY - Titre
Gérer les branches (2/2)



»    Approche hybride




http://nvie.com/posts/a-successful-git-branching-model/


22/07/11                                   ALTER WAY - Titre
Gérer les tags



»    Les utiliser
»    Les nommer de manière cohérente
       – RELEASE_1.0.0
       – v1.0.3rc3
»    Ne jamais commiter sur un tag




22/07/11                       ALTER WAY - Titre
Politique de commit



»    Toujours mettre un message concis et pertinent
»    Faire des commits atomiques
»    Utiliser le message de commit pour interagir avec d'autres outils




22/07/11                         ALTER WAY - Titre
Intégrer des éléments tiers



»    svn:externals
»    Submodules Git




22/07/11              ALTER WAY - Titre
Interaction avec l'extérieur



»    Hooks
»    Messages de commit
       – #42
       – Fixes 42
       – TM45




22/07/11                  ALTER WAY - Titre
Manipuler l'historique (1/2)



»    Modification des informations de commit
»    Reflog Git




22/07/11                       ALTER WAY - Titre
Manipuler l'historique (2/2)



»    Rebase interactif avec Git




22/07/11                          ALTER WAY - Titre
Effectuer la maintenance



»    Subversion : dump, hotcopy
»    Git : Copie du dépôt




22/07/11                          ALTER WAY - Titre
Merci !



»    Email : jm@jmfontaine.net
»    Twitter : jmfontaine
»    Blog : www.jmfontaine.net
»    Autre blog : www.industrialisation-php.net




22/07/11                        ALTER WAY - Titre

Contenu connexe

Similaire à Organiser efficacement son dépôt de code - RMLL 2011

Maintenir du code historique , par Jean Marc Fontaine
Maintenir du code historique , par Jean Marc FontaineMaintenir du code historique , par Jean Marc Fontaine
Maintenir du code historique , par Jean Marc FontaineALTER WAY
 
Présentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitPrésentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitIppon
 
Architecture de services web de type ressource
Architecture de services web de type ressourceArchitecture de services web de type ressource
Architecture de services web de type ressourceAntoine Pouch
 
Rmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-frRmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-frGaëtan Trellu
 
Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdfbadrfathallah2
 
sshGate - RMLL 2011
sshGate - RMLL 2011sshGate - RMLL 2011
sshGate - RMLL 2011Tauop
 
Petit Déjeuner Git chez Makina Corpus
Petit Déjeuner Git chez Makina CorpusPetit Déjeuner Git chez Makina Corpus
Petit Déjeuner Git chez Makina Corpusleplatrem
 
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apportéRetour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apportéAdrien Futschik
 
20111205 breizh jug-devops
20111205 breizh jug-devops20111205 breizh jug-devops
20111205 breizh jug-devopsHenri Gomez
 
Slides Blue Summit 2017
Slides Blue Summit 2017Slides Blue Summit 2017
Slides Blue Summit 2017BlueXML
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVNneuros
 
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
 
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
 

Similaire à Organiser efficacement son dépôt de code - RMLL 2011 (17)

Maintenir du code historique , par Jean Marc Fontaine
Maintenir du code historique , par Jean Marc FontaineMaintenir du code historique , par Jean Marc Fontaine
Maintenir du code historique , par Jean Marc Fontaine
 
Présentation du retour d'expérience sur Git
Présentation du retour d'expérience sur GitPrésentation du retour d'expérience sur Git
Présentation du retour d'expérience sur Git
 
Architecture de services web de type ressource
Architecture de services web de type ressourceArchitecture de services web de type ressource
Architecture de services web de type ressource
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
Git pratique
Git pratiqueGit pratique
Git pratique
 
Rmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-frRmll2010 admin sys-panelgzw-fr
Rmll2010 admin sys-panelgzw-fr
 
Introduction à git.pdf
Introduction à git.pdfIntroduction à git.pdf
Introduction à git.pdf
 
sshGate - RMLL 2011
sshGate - RMLL 2011sshGate - RMLL 2011
sshGate - RMLL 2011
 
Petit Déjeuner Git chez Makina Corpus
Petit Déjeuner Git chez Makina CorpusPetit Déjeuner Git chez Makina Corpus
Petit Déjeuner Git chez Makina Corpus
 
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apportéRetour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté
 
Ejb 3
Ejb 3Ejb 3
Ejb 3
 
20111205 breizh jug-devops
20111205 breizh jug-devops20111205 breizh jug-devops
20111205 breizh jug-devops
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
Slides Blue Summit 2017
Slides Blue Summit 2017Slides Blue Summit 2017
Slides Blue Summit 2017
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 
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
 
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
 

Plus de Jean-Marc Fontaine

Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Jean-Marc Fontaine
 
Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012Jean-Marc Fontaine
 
Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Jean-Marc Fontaine
 
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Jean-Marc Fontaine
 
La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012Jean-Marc Fontaine
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Jean-Marc Fontaine
 
Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Jean-Marc Fontaine
 
La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012Jean-Marc Fontaine
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Jean-Marc Fontaine
 
Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Jean-Marc Fontaine
 
Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?Jean-Marc Fontaine
 
Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010Jean-Marc Fontaine
 
Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Jean-Marc Fontaine
 
Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Jean-Marc Fontaine
 
Solutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPSolutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPJean-Marc Fontaine
 
Déboguer une application web avec FirePHP
Déboguer une application web avec FirePHPDéboguer une application web avec FirePHP
Déboguer une application web avec FirePHPJean-Marc Fontaine
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPJean-Marc Fontaine
 

Plus de Jean-Marc Fontaine (18)

Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
 
Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012Revue de code - PHP Tour Nantes 2012
Revue de code - PHP Tour Nantes 2012
 
Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012Gestion des dépendances dans un projet PHP - RMLL 2012
Gestion des dépendances dans un projet PHP - RMLL 2012
 
Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012Gérer ses environnements de développement avec Vagrant - RMLL 2012
Gérer ses environnements de développement avec Vagrant - RMLL 2012
 
La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012La qualité au delà du code - Forum PHP 2012
La qualité au delà du code - Forum PHP 2012
 
Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012Gestion des dépendances dans un projet PHP - Forum PHP 2012
Gestion des dépendances dans un projet PHP - Forum PHP 2012
 
Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012Reprise sur incident - ConFoo 2012
Reprise sur incident - ConFoo 2012
 
La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012La qualité au-delà du code - ConFoo 2012
La qualité au-delà du code - ConFoo 2012
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011Reprise sur incident - RMLL 2011
Reprise sur incident - RMLL 2011
 
Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?Comment monter son business grâce à l'Open Source ?
Comment monter son business grâce à l'Open Source ?
 
Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010Industrialiser ses développements PHP - RMLL 2010
Industrialiser ses développements PHP - RMLL 2010
 
Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010Revues de code - Forum PHP 2010
Revues de code - Forum PHP 2010
 
Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010Industrialisation de PHP - Be Zend 2010
Industrialisation de PHP - Be Zend 2010
 
Solutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHPSolutions Linux 2010 - Maîtrise du développement PHP
Solutions Linux 2010 - Maîtrise du développement PHP
 
PHP : Etat des lieux
PHP : Etat des lieuxPHP : Etat des lieux
PHP : Etat des lieux
 
Déboguer une application web avec FirePHP
Déboguer une application web avec FirePHPDéboguer une application web avec FirePHP
Déboguer une application web avec FirePHP
 
Utilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHPUtilisation optimale et professionnelle de PHP
Utilisation optimale et professionnelle de PHP
 

Organiser efficacement son dépôt de code - RMLL 2011

  • 1. Gérer son dépôt de code RMLL 2011
  • 2. Qui suis-je ? » Jean-Marc Fontaine » Consultant pour Alter Way Consulting » Président de l'AFUP » Formateur / Professeur vacataire à l'université de Saint Quentin » Auteur du blog Industrialisation-PHP.com » Co-auteur du livre blanc « Industrialisation PHP »
  • 3. Un outil indispensable » On ne travaille jamais seul » On oublie » On essaye » On se trompe » Écrire du code n'est qu'une petite partie du travail
  • 4. Au cœur de l'usine de développement
  • 6. Dépôts centralisé » Approche initiale » Topologie en étoile » CVS, Subversion, Perforce, SourceSafe » Avantages : – Workflows simples à comprendre – Maintenance centralisée – Sécurisation simplifiée » Inconvénients : – Manque de souplesse – Impossibilité de travailler hors-ligne – Manipulation de l'historique limitée
  • 7. Dépôts décentralisés » Approche récente » Tout le monde est potentiellement client et serveur » Git, Mercurial, Bazaar » Avantages : – Possibilité de travailler hors-ligne – Workflows libres – Manipulation de l'historique aisée » Inconvenients : – Sécurisation plus compliquée – Courbe d'apprentissage plus longue
  • 8. Un ou plusieurs dépôts ?
  • 9. Un dépôt » Gestion des accès facilité » Dépôt potentiellement très gros » Difficulté à gérer finement les droits » Impossible à faire avec Git 22/07/11 ALTER WAY - Titre
  • 10. Plusieurs dépôts » Multiplication des accès » Facilité à définir des droits fins » Les projets sont indépendants 22/07/11 ALTER WAY - Titre
  • 11. Sécuriser son dépôt » Gérer les accès » Gérer les droits » Gérer la communication – Utiliser HTTPS ou SSH 22/07/11 ALTER WAY - Titre
  • 13. Gérer les branches (1/2) » Branche par version / par fonctionnalités 22/07/11 ALTER WAY - Titre
  • 14. Gérer les branches (2/2) » Approche hybride http://nvie.com/posts/a-successful-git-branching-model/ 22/07/11 ALTER WAY - Titre
  • 15. Gérer les tags » Les utiliser » Les nommer de manière cohérente – RELEASE_1.0.0 – v1.0.3rc3 » Ne jamais commiter sur un tag 22/07/11 ALTER WAY - Titre
  • 16. Politique de commit » Toujours mettre un message concis et pertinent » Faire des commits atomiques » Utiliser le message de commit pour interagir avec d'autres outils 22/07/11 ALTER WAY - Titre
  • 17. Intégrer des éléments tiers » svn:externals » Submodules Git 22/07/11 ALTER WAY - Titre
  • 18. Interaction avec l'extérieur » Hooks » Messages de commit – #42 – Fixes 42 – TM45 22/07/11 ALTER WAY - Titre
  • 19. Manipuler l'historique (1/2) » Modification des informations de commit » Reflog Git 22/07/11 ALTER WAY - Titre
  • 20. Manipuler l'historique (2/2) » Rebase interactif avec Git 22/07/11 ALTER WAY - Titre
  • 21. Effectuer la maintenance » Subversion : dump, hotcopy » Git : Copie du dépôt 22/07/11 ALTER WAY - Titre
  • 22. Merci ! » Email : jm@jmfontaine.net » Twitter : jmfontaine » Blog : www.jmfontaine.net » Autre blog : www.industrialisation-php.net 22/07/11 ALTER WAY - Titre

Notes de l'éditeur

  1. Pas besoin d'argumenter : un dépôt de code est indispensable à partir d'un seul développeur
  2. Pas là pour convaincre du bien-fondé de l'utilisation d'un dépôt de code Le vous de dans un mois, 3 mois, 6 mois est une autre personne