22
RMLL 2011 Gérer son dépôt de code

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

Embed Size (px)

Citation preview

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

RMLL 2011

Gérer son dépôt de code

Page 2: Organiser efficacement 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 »

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

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

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

Au cœur de l'usine de développementAu cœur de l'usine de développement

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

Centralisé ou décentralisé ?Centralisé ou décentralisé ?

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

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

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

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

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

Un ou plusieurs dépôts ?Un ou plusieurs dépôts ?

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

22/07/11 ALTER WAY - Titre

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

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

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

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

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

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

Organiser son dépôtOrganiser son dépôt

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

22/07/11 ALTER WAY - Titre

Gérer les branches (1/2)

» Branche par version / par fonctionnalités

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

22/07/11 ALTER WAY - Titre

Gérer les branches (2/2)

» Approche hybride

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

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

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

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

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

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

22/07/11 ALTER WAY - Titre

Intégrer des éléments tiers

» svn:externals

» Submodules Git

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

22/07/11 ALTER WAY - Titre

Interaction avec l'extérieur

» Hooks

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

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

22/07/11 ALTER WAY - Titre

Manipuler l'historique (1/2)

» Modification des informations de commit

» Reflog Git

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

22/07/11 ALTER WAY - Titre

Manipuler l'historique (2/2)

» Rebase interactif avec Git

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

22/07/11 ALTER WAY - Titre

Effectuer la maintenance

» Subversion : dump, hotcopy

» Git : Copie du dépôt

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

22/07/11 ALTER WAY - Titre

Merci !

» Email : [email protected]

» Twitter : jmfontaine

» Blog : www.jmfontaine.net

» Autre blog : www.industrialisation-php.net