Upload
alter-way
View
789
Download
0
Embed Size (px)
DESCRIPTION
Cette conférence dépoussière l’usage du dépôt de code et le replace au centre de l’usine de développement : les développeurs y poussent du code, l’intégration continue l’analyse, l’outil de déploiement l’envoie vers les serveurs.Il est capital d’organiser efficacement le dépôt de code. Cela passe notamment par sa sécurisation, le choix des politiques de commit et de branchage ou encore ses interactions avec l’extérieur.Nous verrons comment répondre à ses problématiques avec les deux outils phares que sont Subversion et Git.
Citation preview
RMLL 2011
Gérer son dépôt de code
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éveloppementAu cœur de l'usine de développement
Centralisé ou décentralisé ?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 ou plusieurs dépôts ?
13/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
13/07/11 ALTER WAY - Titre
Plusieurs dépôts
» Multiplication des accès
» Facilité à définir des droits fins
» Les projets sont indépendants
13/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
Organiser son dépôtOrganiser son dépôt
13/07/11 ALTER WAY - Titre
Gérer les branches (1/2)
» Branche par version / par fonctionnalités
13/07/11 ALTER WAY - Titre
Gérer les branches (2/2)
» Approche hybride
13/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
13/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
13/07/11 ALTER WAY - Titre
Intégrer des éléments tiers
» svn:externals
» Submodules Git
13/07/11 ALTER WAY - Titre
Interaction avec l'extérieur
» Hooks
» Messages de commit #42 Fixes 42 TM45
13/07/11 ALTER WAY - Titre
Manipuler l'historique (1/2)
» Modification des informations de commit
» Reflog Git
13/07/11 ALTER WAY - Titre
Manipuler l'historique (2/2)
» Rebase interactif avec Git
13/07/11 ALTER WAY - Titre
Effectuer la maintenance
» Subversion : dump, hotcopy
» Git : Copie du dépôt
13/07/11 ALTER WAY - Titre
Merci !
» Email : [email protected]
» Twitter : jmfontaine
» Blog : www.jmfontaine.net
» Autre blog : www.industrialisation-php.net