!

!

@atlassian_fr

#gitwflow
!

Ready! Workflows
Posez vos
questions

ici

Questions/réponses
en fin de
présentation
Samuel Le Berrigaud
Développeur / Ambassadeur France

@sleberrig
Vous connaissez sans doute
Création facile de branches locales
historique complet en local
10x la vitesse de svn
Zone d’attente
(staging area)

Énorme communauté
Rapide

Workflow par fonctionnalité

Proéminent dans l’Open Source
Intégrité cryptographique

Distribué
“ groundbreaking paradigm
is ground breaking ”
Briques de base de Workflow
Nous aborderons comment choisir:
1

Le modèle de Collaboration

2

Le modèle de gestion des
Branches

3

Pratiques d’équipes

4

Intégration continue
Facile, non?

1

Quel modèle (workflow) de
collaboration?
je fais aussi mes trucs
Je fais mon truc

dans mon coin

ANARCHIE
voici mon bout, qui dit à

regardez les mecs, une

Jérôme?

Collaboration
complètement décentralisée

chèvre!
Il est cool

Gatekeeper
Dépôt heureux grâce à
l’intégrateur
Pour faire accepter
votre travail, discutez
avec lui
Dictateur
Vive le Roi!

Les Lieutenants gardent
le Roi

et ses lieutenants

Dépôt heureux
Centralisé
Dépôt commun
partagé

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

nous partageons "tout"
Pour plus de détails
sur les modèles collaboratif

atlss.in/git-wflows
+

Entreprise

=

Centralisé
Permissions de Branches & Dépôts
La centralisation permet
une définition détaillée
des Permissions (ACL)
Intégration à vos
Outil de suivi projet
et
d’Intégration continue
2

Quel modèle de branche?
Deux modèles de branches
1

Livraison en Cycle

2

Livraison en Continue
2.1

pour la livraison en Cycle
PRJ-123-description
PRJ-123-bug-description

Time

feature
bugfix
branches
branch

master

1

Un dépôt Central

2

Une Branche par
fonctionnalité

3

Une Branche par Bugfix
2.2

PRJ-345-bug-description

Temps

bugfix

branche
stable

master

fonctionne depuis un moment

4

Branches Stable

5

master: alpha / RC

6

Pull Requests
Avant le merge
2.2

pour la livraison continue
promu de staging, peut recevoir des hot-fixes

1

Master est en production

2

Staging représente la prochaine version

3

Nouvelles fonctionnalités hors de staging
avec des noms de branche comme: utilisateur/CLEF-description
turbo boost!

3

Les Pratiques
Qu'est-ce qu'une Pull Request?
Pull Request

Collaboration à
faible friction

Eh, j'ai un peu de code que je
veux merger (fusionner) ici,
tu peux y jeter un coup d'oeil?
J'ai un peu
de code ici!

Puis-je merger
(fusionner)

ici?
Dépôt Unique
vs
Fork distant
Les Plus d'un Dépôt Unique
Toutes les
branches sont
disponibles

1

Visibilité complète

2

Pas besoin de serveur distant
par développeur

3

KISS

(Keep It Simple Stupid)
Les Forks
sont aussi très
pratiques
Avec la méthode Fork
Chacun son
dépôt distant

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

Intégrateur, Gatekeeper,
Lead Tech, etc
Le Fork
1

Permet confiance et maturité

2

inter- département et organisation

3

Interactions Dev à Dev
4

Intégration Continue
1

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

2

Une explosion de branches

3

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

Tout construire coûte cher

2

Construire automatiquement les
branches stable et master

3

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

Moins de friction,
plus d'automatisation
Check de la Qualité du code
via hooks de pre-commit
Branche - à partir des builds verts
Merge en cascade “for the win!”
MERGE automatique!

branche
stable

2.2

branche
stable

2.1

PRJ-345-bug-description

Temps

bugfix

master
1

Propagation des Merges

2

Hook de mise à jour côté serveur

3

Ou support d'outil
Pour plus de détails:

atlss.in/merges-auto
En Conclusion: la recette
Conclusions
Modèle
Collaboratif

Modèle
de Branche
Workflow

!
Centralisée
!
!

Adopter une
stratégie Git

Automatisation
& CI setup
Build

livraison

Dépôt Unique
!
ou Forks
!
!
!
!
Embrassez les

automatique,
(laissez !quelque
!
boutons)
!
!
!
Hooks, hooks

continue

Pull Requests

partout!!

produit
!
!
!
Workflow de
Samuel Le Berrigaud
Développeur / Ambassadeur France

@sleberrig
Atlassian
Git Repository Management
for Enterprise Teams
Free Git Code Hosting
for Small Teams
Free Git Desktop client
for Mac or Windows
blogs.atlassian.fr

Git Ready! Worflows