0% ont trouvé ce document utile (0 vote)
47 vues7 pages

Ebenyx Gitflow

Transféré par

Fabians Ky
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues7 pages

Ebenyx Gitflow

Transféré par

Fabians Ky
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

EBENYX TECHNOLOGIES

GitFlow Ebenyx
Qu'est-ce que Gitflow?
Gitflow est un modèle de développement de branches pour Git qui aide les équipes à
organiser leur processus de développement de manière structurée. Gitflow définit un
ensemble de règles pour la gestion des branches Git dans un dépôt, permettant une
gestion efficace des versions, des fonctionnalités et des correctifs.

production homologation securite developpement correctif-urgent dev-fonctionnalite


.0
.0
.1
/v
od
pr

f
23
e4
82
1-

f
5c
b5
2c
2-
pr
od
/v
1.
1.
0

ho
m
o/
v1
.1
.0

b
f4
69
de
9-

Principales caractéristiques de Git flow

Branches Principales

Les branches principales contiennent le code qui a été validé et est prêt à être déployé pour
les utilisateurs finaux (environnement de production ou de développement). La branche
principale représente l'état actuel du code en production. C'est la version stable et testée du
logiciel.

Contexte Ebenyx :

production : Représente la branche principale du code en production analysé et


validé.
homologation : Représente la branche principale du code en homologation
(environnement client pour tester l'application).
securite : Branche de test où les nouvelles fonctionnalités à tester sont intégrées.
developpement : Branche de développement où les nouvelles fonctionnalités sont
validées puis intégrées.

1/7
EBENYX TECHNOLOGIES

Autres Types de Branches

Ces branches sont utilisées pour développer de nouvelles fonctionnalités, préparer des
versions, effectuer des correctifs ou maintenir des versions spécifiques du logiciel. Elles
fournissent un espace isolé pour travailler sur des fonctionnalités ou des correctifs sans
perturber la branche principale. Elles sont temporaires (supprimé après la fusion) et sont
fusionnées dans la branche principale une fois que le travail est terminé et validé.

Contexte Ebenyx :

Branches de Support (correctif-urgent) : Correction rapide de problèmes critiques sur


la version en production.
Branches de Version (ex: dev-fonctionnalite) : Développement de fonctionnalités pour
une version ou une fonctionnalité spécifique.

Flux de Travail

Le diagramme représente le flux de travail d'un processus de développement logiciel,


mettant en lumière les différentes étapes impliquées dans le traitement des anomalies et
des demandes d'implémentation.

Le processus commence par la remontée des anomalies par le responsable des


incidents ou l'implementation de fonctionnalitées par le business analyste au
responsable de developpement. Le responsable du developpement, ouvre ensuite des
tickets d'implémentation pour les développeurs concernés.

Après que le Développeur_X ait terminé l'implémentation, le responsable de


developpement vérifie la qualité du code. Si nécessaire, le code est renvoyé au développeur
pour correction. Sinon, il est soumis au responsable de la securité pour une
vérification de sécurité.

Le responsable de securité effectue une recherche de vulnérabilités et, en l'absence de


celles-ci, le travail est transmis aux equipes système pour le déploiement. Si des
vulnérabilités sont détectées, un rapport est retourné au responsable de developpement
pour correction.

Après analyse du rapport de sécurité par le responsable de la securité et en cas de


conformité, le travail est transmis aux equipes systèmes pour le déploiement en
environnement client. Enfin, tout problème survenant lors du déploiement est signalé au
responsable de developpement, qui ouvre alors un ticket de bug pour le développeur
concerné. Ce processus assure la qualité et la sécurité des implémentations avant leur
déploiement final.

2/7
EBENYX TECHNOLOGIES

Touré Doucaci Business Analyste Developpeur_X Momo Système


alt [Bugs / Anomalie]

Remonte les anomalies


1

[Besoin client]

Demande implementation
2

Ouvre et attribut ticket


3

Implemente puis demande l'autorisation de fusionner (merge request)


4

Verifie la qualité du code source


5

alt [Ok]

Si ok, soumet pour verification de la securité


6

[Non Ok]

si non ok, renvoie pour correction


7

loop

Cherche vulnerabilité
8

alt [Non ok]

Si non ok, renvoi pour correction (avec rapport)


9

Ouvre et attribut ticket


10

[Ok]

Si ok, soumet pour deploiement


11

Touré Doucaci Business Analyste Developpeur_X Momo Système

Pourquoi utiliser le principe de Gitflow?


Utiliser le principe de Gitflow présente plusieurs avantages pour les équipes de
développement logiciel :

1. Organisation Structurée : Gitflow fournit un modèle clair et structuré pour organiser


le processus de développement avec des règles définies pour la gestion des
branches. Cela aide à maintenir un environnement de développement propre et
ordonné.

2. Gestion des Versions : Gitflow facilite la gestion des versions logicielles en


fournissant des branches spécifiques pour le développement de nouvelles
fonctionnalités, la préparation de versions et la correction de bugs. Cela permet de
suivre facilement les changements dans le code et de créer des versions stables du
logiciel.

3. Collaboration en Équipe : En définissant des rôles et des responsabilités clairs pour


chaque type de branche, Gitflow favorise la collaboration harmonieuse entre les
membres de l'équipe. Chaque membre sait où et comment contribuer efficacement
au projet.

4. Isolation des Changements : Les branches de fonctionnalités isolent les


développements en cours, ce qui permet aux développeurs de travailler sur
différentes fonctionnalités simultanément sans interférence. Cela réduit les conflits et
facilite la gestion des modifications.

3/7
EBENYX TECHNOLOGIES

5. Facilité de Reprise : En utilisant des branches spécifiques pour les correctifs et les
versions, Gitflow rend plus facile la reprise du travail en cas d'urgence ou de nécessité
de revenir à une version précédente du logiciel.

6. Stabilité du Code en Production : En maintenant une branche principale


(habituellement production) réservée uniquement aux versions stables du logiciel,
Gitflow garantit que le code en production est toujours stable et testé.

7. Flexibilité : Gitflow est suffisamment flexible pour s'adapter aux besoins spécifiques
de différents projets. Les équipes peuvent personnaliser leur flux de travail en
fonction de leurs exigences particulières.

En résumé, Gitflow offre une approche méthodique et efficace pour la gestion des branches
dans les projets Git, ce qui améliore la collaboration, la qualité du code et la gestion des
versions, tout en favorisant une meilleure organisation et une meilleure communication au
sein de l'équipe de développement.

Utilisation du principe Gitflow (quelques exemples concrets)

Developpeur-X

Reçoit

ticket 📝

Si cela implique Si cela implique

Mise à jour de la production 💡 Implémentation de fonctionnalité 💡

pull pull pull

Tag production 🏷 Production 🛠 Developpement 🛠

Le développeur alias "Developpeur-X" reçoit un "Ticket" pour une tâche à effectuer.


Si le ticket implique une "Mise à jour de la production", le développeur effectue un
"pull" sur la version "Tag production" et sur la branche de la "Production".
Si le ticket implique une "Implémentation de fonctionnalité", le développeur effectue
un "pull" sur le "Développement" et sur le "Tag homologation".

Créer et basculer entre les branches

Créer une nouvelle branche

4/7
EBENYX TECHNOLOGIES

production

8
33

9b
65

be
99

69
0-

1-
git checkout developpement

developpement

7
f1
1c
c1
2-
git checkout -b developpement (non existant)

dev-fonctionnalite-toure

c
e2
4b
8e
3-
git checkout -b ma-nouvelle-fonctionnalite

Basculer entre les branches

production
3

e
c1

a5
f3

14
f7

92
0-

1-

git checkout developpement (existant)

developpement
d
94
a4
67
2-

git checkout ma-branche

Fusionner des branches

Fusionner une branche dans une autre :

5/7
EBENYX TECHNOLOGIES

production

6
9d

2a
03

7a
78

d4
0-

1-
developpement

8
3e
2b
62
2-
dev-fonctionnalite-toure

6
73
72
9e
3-
git checkout develop
git merge ma-nouvelle-fonctionnalite

Merge request

Le merge request, également appelé pull request, est une fonctionnalité clé dans les
systèmes de gestion de versions comme GitLab. Les merge requests offrent plusieurs
avantages importants dans le processus de développement logiciel collaboratif notamment
Facilitation de la Collaboration et la Revues de Code Voici comment fonctionne le merge
request :

Création de la demande de fusion : Lorsqu'un développeur souhaite intégrer des


modifications d'une branche (par exemple, une branche de fonctionnalité) dans une autre
branche (comme la branche principale), il crée une demande de fusion. Cette demande
permet d'initier une discussion sur les modifications proposées avant de les fusionner.

Discussion et validation : Une fois la demande de fusion créée, les autres membres de
l'équipe peuvent examiner les modifications, ajouter des commentaires et discuter des
changements proposés. Cela permet une collaboration efficace et une validation des
modifications avant leur intégration.

Fusion des branches : Après avoir examiné et discuté des modifications, si tout est
conforme, la fusion des branches est effectuée. Les modifications de la branche source sont
intégrées à la branche cible, assurant ainsi que le code est mis à jour et que les nouvelles
fonctionnalités ou corrections de bugs sont ajoutées au projet.

Clôture de la demande de fusion : Une fois la fusion effectuée, la demande de fusion est
généralement clôturée. Cela indique que les modifications ont été intégrées avec succès et
que la discussion associée à la demande est terminée.

Le merge request est un processus essentiel pour assurer la qualité du code, la


collaboration entre les membres de l'équipe et la gestion efficace des modifications
apportées à un projet.

6/7
EBENYX TECHNOLOGIES

Ci-dessous des ressources pour comprendre les principes de Gitflow adapter à Gitlab :

Créer une merge request

7/7

Vous aimerez peut-être aussi