1. Hey, git.
Assurer une migration réussie d’un VCS vers git
[{"name":"Guy Lépine","company":"SherWeb","email":"glepine@sherweb.com"},
{"name":"Benoit St-André", "company":"PMCtire.com","email":"benoit@pmctire.com"}]
2. Objectif
Montrer quelques histoires à succès de passages de différentes méthodes de
contrôle de version de code source (VCS) à git.
Ce sont nos “faits vécus” - basé sur notre expérience et les circonstances
3. Recette du succès: les bons arguments
1. l’amélioration de la productivité par un meilleur concept de branche, par
exemple:
a. les branches de travail
b. l’intégration en continu (facilité par l’écosystème)
c. autant sinon plus de traçabilité que les autres systèmes de gestion de code source
2. l’historique local: utiliser un VCS sans serveur! Be your own backup! :-D
3. l’adoption par l’industrie et par conséquent, la quantité impressionnante
d’outils ayant un support git intégré
4. Recette du succès: le paradigme Git
Choses à retenir:
1. tout est local
2. les branches et les étiquettes sont des pointeurs
3. appliquer la décentralisation graduellement
a. des utilisateurs sont plus confortables en poussant des commits sur un serveur plutôt que sur la
machine d’un collègue
4. certains sont plus visuels que d’autres (command line vs outils)
5. Recette du succès: l’utilisation
1. Mode d’utilisation: centralisé vs décentralisé
2. Modèle de branches
a. gitflow
b. trunk-based
3. Collaboration
4. Modèles de revues de code
a. pull requests
6. Cas #1: SourceSafe -> git
● Outil: vss2git
● Utilisateurs: intermédiaires
● 4-5 dépôts
● migrations pour certains dépôts et démarrage à zéro pour certains autres
● timeframe: environ 3 mois
● serveur git: gitlab
7. Cas #2: TFS-TFVC -> TFS-git
● Outil: git-tf
● Utilisateurs: niveaux variés
● migration de la plupart des dépôts
● timeframe: 1 mois
● serveur: TFS 2015
9. Cas #4 - Git vers Git (quoi, on utilise pas déjà
Git?)
● Outil: ben, j’utilise déjà Git
● Utilisateurs: peu expérimentés
● Timeframe: quelques semaines
● Serveur: Gitlab
10. Recette du succès: le plan de migration
1. audit de l’utilisation du VCS
a. identification des données versionnées (type, projet, utilisateurs)
b. définition des activités de développement
c. définition des activités de devops
2. formation
a. évaluation du niveau de connaissance des utilisateurs
b. le plus près possible du moment de la migration
3. migration
11. Leçons apprises
1. Formation
a. certains utilisateurs ont à surmonter un plus grand changement de paradigme
b. certains concepts clés sont loin de la réalité actuelle des utilisateurs
2. Support alerte
a. surtout au début de la nouvelle ère, pour éviter les désagréments et la perte productivité
3. S’assurer que les outils de processus sont migrés d’abord
12. Recap
1. La migration:
a. les bons arguments
b. le paradigme
c. l’utilisation
2. Entretenir le feu
a. formation
b. outils
c. support