git ready! worflows

47
@atlassian_fr #gitwflow

Upload: samuel-le-berrigaud

Post on 14-Jun-2015

694 views

Category:

Documents


0 download

DESCRIPTION

Comment choisir un workflow Git adapté à votre équipe? Comment améliorer votre productivité tout en réduisant les frictions au sein de votre équipe? Quelles sont les pratiques utilisées dans l’industrie et les équipes agiles? Comment utilisons-nous Git au sein d’Atlassian? Comme vous avez pu l’entendre, Git offre de nombreuses fonctionnalités intéressantes, et a acquis un incroyable succès dans l’industrie au sens large. Pourtant, l’adoption de Git au sein de votre entreprise peut être intimidant. Le “Git Ready” webinar a pour objectif de répondre à ces questions et plus. Nous abordons: * Les modèles de collaboration disponibles lors de l’utilisation d’un système de contrôle de version distribué comme Git * Les modèles de branche qui favorisent le renforcement du développement parallèle * Les “best practice” émergentes et les choix pouvant être adoptées en toute sécurité lors de la migration vers Git Nous abordons aussi comment l’Intégration Continue change du tout au tout lorsque votre équipe embrasse Git.

TRANSCRIPT

Page 1: Git Ready! Worflows

!

@atlassian_fr!

#gitwflow

Page 2: Git Ready! Worflows

!

Ready! Workflows

Page 3: Git Ready! Worflows

Questions/réponses en fin de

présentation

Posez vos questions

ici

Page 4: Git Ready! Worflows

Samuel Le Berrigaud Développeur / Ambassadeur France

@sleberrig

Page 5: Git Ready! Worflows

Création facile de branches localeshistorique complet en local

Rapide

Zone d’attente (staging area)

Proéminent dans l’Open Source

Énorme communauté

Vous connaissez sans doute

Workflow par fonctionnalité

10x la vitesse de svn

DistribuéIntégrité cryptographique

Page 6: Git Ready! Worflows

“ groundbreaking paradigm is ground breaking ”

Page 7: Git Ready! Worflows

Briques de base de Workflow

Page 8: Git Ready! Worflows

1

Pratiques d’équipes

2

3

Le modèle de Collaboration

Nous aborderons comment choisir:

Le modèle de gestion des Branches

Intégration continue4

Page 9: Git Ready! Worflows

Quel modèle (workflow) de collaboration?1

Facile, non?

Page 10: Git Ready! Worflows

Collaboration complètement décentralisée

Je fais mon trucje fais aussi mes trucs

dans mon coin

ANARCHIEvoici mon bout, qui dit à

Jérôme?

regardez les mecs, une chèvre!

Page 11: Git Ready! Worflows

Dépôt heureux grâce à l’intégrateur

Il est cool

Gatekeeper

Pour faire accepter votre travail, discutez

avec lui

Page 12: Git Ready! Worflows

et ses lieutenantsDictateur

Vive le Roi!

Les Lieutenants gardent le Roi

Dépôt heureux

Page 13: Git Ready! Worflows

Dépôt commun partagé

nous partageons "tout"

Heureusement, il n’y a pas de chèvres ici

Centralisé

Page 14: Git Ready! Worflows

atlss.in/git-wflows

Pour plus de détails sur les modèles collaboratif

Page 15: Git Ready! Worflows

+ = Centralisé

Entreprise

Page 16: Git Ready! Worflows

La centralisation permet une définition détaillée des Permissions (ACL)

Permissions de Branches & Dépôts

Page 17: Git Ready! Worflows

Intégration à vos

Outil de suivi projet

et

d’Intégration continue

Page 18: Git Ready! Worflows

Quel modèle de branche?2

Page 19: Git Ready! Worflows

Livraison en Cycle1

Livraison en Continue2

Deux modèles de branches

Page 20: Git Ready! Worflows

pour la livraison en Cycle2.1

Page 21: Git Ready! Worflows

Un dépôt Central1

Une Branche par fonctionnalité

Une Branche par Bugfix

2

3

Tim

emasterfeature

branches

PRJ-

123-

desc

ript

ion

Tim

emasterbugfix

branch

PRJ-

123-

bug-

desc

ript

ion

Page 22: Git Ready! Worflows

Branches Stable4

master: alpha / RC5

Pull Requests6Avant le merge

fonctionne depuis un moment

Tem

psmasterbranche

stable

PRJ-

345-

bug-

desc

ript

ion

bugfix

2.2

Page 23: Git Ready! Worflows

2.2 pour la livraison continue

Page 24: Git Ready! Worflows

Master est en production1

Staging représente la prochaine version

Nouvelles fonctionnalités hors de staging

2

3

avec des noms de branche comme: utilisateur/CLEF-description

promu de staging, peut recevoir des hot-fixes

Page 25: Git Ready! Worflows

Les Pratiques 3

turbo boost!

Page 26: Git Ready! Worflows

Qu'est-ce qu'une Pull Request?

Page 27: Git Ready! Worflows

Eh, j'ai un peu de code que je veux merger (fusionner) ici,

tu peux y jeter un coup d'oeil?

Collaboration à faible friction

Pull Request

J'ai un peu de code ici!

Puis-je merger (fusionner) ici?

Page 28: Git Ready! Worflows

Dépôt Unique vs

Fork distant

Page 29: Git Ready! Worflows

Visibilité complète1

Pas besoin de serveur distant par développeurKISS (Keep It Simple Stupid)

2

3

Les Plus d'un Dépôt UniqueToutes les

branches sont disponibles

Page 30: Git Ready! Worflows

Les Forks sont aussi très

pratiques

Page 31: Git Ready! Worflows

Chacun son dépôt distant

Avec la méthode Fork

Copie complète a distance (tout le monde en a une)

Intégrateur, Gatekeeper, Lead Tech, etc

Page 32: Git Ready! Worflows

Permet confiance et maturité1

inter- département et organisation

Interactions Dev à Dev

2

3

Le Fork

Page 33: Git Ready! Worflows

Intégration Continue4

Page 34: Git Ready! Worflows

Qu'arrive-t-il à l'intégration continue avec git?1

Une explosion de branches2

3 Une dégradation des performances du système de build

Page 35: Git Ready! Worflows

Tout construire coûte cher1

Construire automatiquement les branches stable et master2

3 Activation manuelle du build pour les branches de fonctionnalités

Page 36: Git Ready! Worflows

Moins de friction, plus d'automatisation5

Page 37: Git Ready! Worflows

Check de la Qualité du code via hooks de pre-commit

Page 38: Git Ready! Worflows

Branche - à partir des builds verts

Page 39: Git Ready! Worflows

Merge en cascade “for the win!”

Page 40: Git Ready! Worflows

Tem

ps

masterbranche stable

PRJ-

345-

bug-

desc

ript

ion

bugfix

2.2

branche stable

2.1

MERGE automatique!

Page 41: Git Ready! Worflows

Propagation des Merges1

Hook de mise à jour côté serveur2

3 Ou support d'outil

Page 42: Git Ready! Worflows

Pour plus de détails: atlss.in/merges-auto

Page 43: Git Ready! Worflows

En Conclusion: la recette

Page 44: Git Ready! Worflows

!!!

!!!!!

Modèle de Branche

Adopter une stratégie Git

Automatisation & CI setup

Conclusions

!!!!!

Workflow produit

Workflow de livraison continue

Embrassez les Pull Requests

Build automatique, (laissez quelque

boutons)

Dépôt Unique ou Forks!

!!

Modèle Collaboratif

Centralisée

Hooks, hooks partout!!

Page 45: Git Ready! Worflows

Samuel Le Berrigaud Développeur / Ambassadeur France

@sleberrig

Page 46: Git Ready! Worflows

Git Repository Management for Enterprise Teams

Free Git Code Hosting for Small Teams

Free Git Desktop client for Mac or Windows

Atlassian

Page 47: Git Ready! Worflows

blogs.atlassian.fr