git ready! worflows
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
!
@atlassian_fr!
#gitwflow
!
Ready! Workflows
Questions/réponses en fin de
présentation
Posez vos questions
ici
Samuel Le Berrigaud Développeur / Ambassadeur France
@sleberrig
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
“ groundbreaking paradigm is ground breaking ”
Briques de base de Workflow
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
Quel modèle (workflow) de collaboration?1
Facile, non?
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!
Dépôt heureux grâce à l’intégrateur
Il est cool
Gatekeeper
Pour faire accepter votre travail, discutez
avec lui
et ses lieutenantsDictateur
Vive le Roi!
Les Lieutenants gardent le Roi
Dépôt heureux
Dépôt commun partagé
nous partageons "tout"
Heureusement, il n’y a pas de chèvres ici
Centralisé
atlss.in/git-wflows
Pour plus de détails sur les modèles collaboratif
+ = Centralisé
Entreprise
La centralisation permet une définition détaillée des Permissions (ACL)
Permissions de Branches & Dépôts
Intégration à vos
Outil de suivi projet
et
d’Intégration continue
Quel modèle de branche?2
Livraison en Cycle1
Livraison en Continue2
Deux modèles de branches
pour la livraison en Cycle2.1
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
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
2.2 pour la livraison continue
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
Les Pratiques 3
turbo boost!
Qu'est-ce qu'une Pull Request?
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?
Dépôt Unique vs
Fork distant
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
Les Forks sont aussi très
pratiques
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
Permet confiance et maturité1
inter- département et organisation
Interactions Dev à Dev
2
3
Le Fork
Intégration Continue4
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
Tout construire coûte cher1
Construire automatiquement les branches stable et master2
3 Activation manuelle du build pour les branches de fonctionnalités
Moins de friction, plus d'automatisation5
Check de la Qualité du code via hooks de pre-commit
Branche - à partir des builds verts
Merge en cascade “for the win!”
Tem
ps
masterbranche stable
PRJ-
345-
bug-
desc
ript
ion
bugfix
2.2
branche stable
2.1
MERGE automatique!
Propagation des Merges1
Hook de mise à jour côté serveur2
3 Ou support d'outil
Pour plus de détails: atlss.in/merges-auto
En Conclusion: la recette
!!!
!!!!!
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!!
Samuel Le Berrigaud Développeur / Ambassadeur France
@sleberrig
Git Repository Management for Enterprise Teams
Free Git Code Hosting for Small Teams
Free Git Desktop client for Mac or Windows
Atlassian
blogs.atlassian.fr