git ready! worflows

Post on 14-Jun-2015

694 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related