Phase de développement d'une version⚓︎
Si vous êtes familié avec la méthode Agile, vous savez que l'on fonctionne par sprints (itérations). Chaque sprint mène, en général, à une nouvelle version et dans chaque version on développe des fonctionnalités, appelées ici features. Ces fonctionnalités sont listées dans Jira sous forme de ticket.
Les features sont des branches qui sont créées à partir de la branche develop
(cf. Fig. Création d'une feature).
Version de développement
La version de développement aura toujours le pattern X.X.X-SNAPSHOT, même sur les branches de features. Par ailleurs, la version X.X.X correspond à la version de la future version.
01 - Créer sa feature⚓︎
Premièrement, vous devez prendre un ticket dans le Sprint en cours sur le Jira.
Ensuite vous créez la branche <numero-du-ticket>
. Il faut que la branche soit créée à partir de la branche develop
(cf. Fig. Création d'une feature).
1 2 3 |
|
A vous de jouer !
Maintenant que vous avez votre projet Maven en place sur Gitlab, vous verrez deux branches : master
et develop
.
Placez vous sur la branche develop
et récupérez les mises-à-jour du dépôt distant :
1 2 |
|
Vous pouvez maintenant créer votre ticket sur Jira :
Ici, on va modifier le "Hello World!" pour afficher "Coucou !", donc nous expliquons ce que l'on va faire dans le ticket :
Type de ticket
Il existe plusieurs types de tickets : bug
, story
et task
. Comme nous développons une nouvelle fonctionnalité, nous voulons créer un ticket de type story
.
Ensuite, de retour sur la branche develop
, nous allons créer notre nouvelle branche avec le numéro de ticket et le titre de la story
:
1 |
|
A ce moment-là, vous pouvez changer le status de votre ticket Jira à In Progress
(ou En cours
).
Convention de nommage des branches
Le nom de la branche doit au moins contenir le numéro du ticket, ici ENGL-1900
.
Toute fois, il peut être pratique d'ajouter le nom du ticket pour simplifier la lisibilité : ENGL-1900-creation-dune-fusee
.
Plus d'informations ici :
02 - Développer la feature⚓︎
Dans cette étape, vous avez juste à réaliser la tâche de votre ticket.
Quelques conseils tout de même :
- Votre code doit être lisible et compréhensible ;
- Mettre de la documentation ( s'il vous plaît...) ;
- Tester votre code ;
- Faire des commits réguliers pour retrouver plus rapidement les bugs ou éléments qui vous intéressent au cours du développement.
Pour faire un commit, il faut :
1 2 3 |
|
A vous de jouer !
Maintenant, ouvrez le fichier src/main/java/fr/papierpain/Main.java
puis modifiez le code pour qu'il affiche "Coucou !" :
Ligne 4 du fichier Main.java | |
---|---|
1 |
|
Ensuite, faites un commit et push :
1 2 3 |
|
03 - Synchroniser sa feature avec develop⚓︎
En parallèle de votre développement, je vous conseille de synchroniser régulièrement votre branche avec la branche develop
car vous n'êtes pas tout seul sur le projet ! Si vous ne voulez pas traiter 10 000 conflits, c'est un bon réflexe à avoir.
03.1 - Sauvegarder mes modifications⚓︎
Pour cela, vous devez sauvegarder vos modifications sur votre branche distante comme avec le point 02, c'est-à-dire :
1 2 3 |
|
03.2 - Récupérer les modifications de la branche develop
⚓︎
Ensuite, vous devez récupérer les mises à jour de la branche develop
:
1 2 |
|
03.3 - Synchroniser sa branche avec la branche develop
⚓︎
Et enfin, on fait un merge entre la branche develop
et la branche <nom-de-la-feature>
:
1 |
|
03.4 - J'ai des conflits⚓︎
Si vous avez des conflits, il faut les résoudre (de rien ! ).
Lorsque vous avez des conflits, ils sont listés dans le terminal avec la liste des fichiers. Donc, dans votre IDE, vous aurez le pattern suivant au niveau des conflits :
1 2 3 4 5 |
|
Ensuite, il faut régler les conflits :
- Choisir ce que vous gardez ;
-
Enregistrer les modifications :
1
git add mon_fichier
-
Poursuivre le rebase avec :
1
git rebase --continue
Enfin, pour terminer le rebase, il faut sauvegarder les modifications sur votre branche distante :
1 |
|
Attention
Si après un rebasage il dit "Ooouais c'est quoi ça gneugneugneu !?", faites la commande suivante qui permet de forcer les changements :
1 |
|
04 - Faire sa Merge Request⚓︎
Le but est de faire vérifier son code par quelqu'un d'autre avant d'envoyer ses modifications sur develop.
Pour faire une merge request avec l'interface graphique :
- Ouvrez votre projet gitlab
- Choisissez
Merge requests
dans le menu latéral gauche -
Choississez votre branche (ici develop) et la branche de destination (ici master) :
-
Puis, remplissez le formulaire suivant :
N'oubliez pas de remplir les champs suivants :
-
title
: C'est le numéro de votre ticket suivi de son sujet (ex.ENGL-1900 - Créer une fusée
) ; description
: une description de ce que vous avez fait ;assignee
: l'utilisateur qui va traiter votre merge request ;- Merge option :
delete source branch
: pour supprimer la branche source après avoir fait le merge ; - Merge option :
squash
: fusionner tous les commits (c'est plus propre).
A vous de jouer !
Retournez sur Gitlab et créez une Merge Request comme au dessus avec les informations suivantes :
N'oubliez pas de changer le statut de votre ticket Jira à In Review
et de l'assigner à la personne qui va vérifier votre ticket !
05 - Vérifier une Merge Request⚓︎
Pour vérifier une merge request, il faut :
- Vérifier la branche de destination (ex. :
develop
mais SURTOUT pasmaster
) ; - Tester le code (sur votre environnement local) ;
- Vérifier si le code est correct (lisible, bonnes conventions, indentation, etc.) ;
- Vérifier qu'il y ait bien de la documentation ;
- Ensuite checker si il n'y a pas de conflits ;
- Vérifier si la branche est à jour par rapport à la branche
develop
(voir la section 03).
Une fois tous ça fait, vous pouvez valider la Merge Request !
A vous de jouer !
Retournez sur Gitlab et validez la Merge Request en appuyant sur Merge
une fois que vous avez vérifié toutes les étapes.
Vous pouvez d'ailleurs voir les modifications dans l'onglet Changes
de la Merge Request.
N'oubliez pas de changer le statut de votre ticket Jira à Ready For Delivery
!