Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:collabo_khanat_code [2016/07/11 17:11] – [Le dépôt et ses branches] Dremor | fr:collabo_khanat_code [2021/12/03 19:19] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Collaborer sur le dépôt | + | ====== Collaborer sur le dépôt |
{{ : | {{ : | ||
- | <WRAP center round important 60%> | + | Ce dépôt est celui qui contient tout le code nécessaire à la compilation du serveur, ainsi que des outils du système OpenNeL, appelé un temps [[fr: |
- | WIP | + | |
- | </ | + | |
Ligne 11: | Ligne 9: | ||
==== Mise en place d'un dépôt personnel (fork) ==== | ==== Mise en place d'un dépôt personnel (fork) ==== | ||
- | |||
- | <WRAP center round important 90%> | ||
- | Cet étape n'est pas utile aux développeurs khanat officiels, qui ont directement accès au dépôt, et peuvent créer une branche dédié à leur travail. | ||
- | </ | ||
Pour commencer, il vous faudra forker le dépôt principal. Ainsi, vous aurez votre propre dépôt, sur lequel vous pourrez effectuer vos modification sans interférer avec le dépôt principal. | Pour commencer, il vous faudra forker le dépôt principal. Ainsi, vous aurez votre propre dépôt, sur lequel vous pourrez effectuer vos modification sans interférer avec le dépôt principal. | ||
Ligne 23: | Ligne 17: | ||
Vous serrez alors redirigé vers votre copie du dépôt. | Vous serrez alors redirigé vers votre copie du dépôt. | ||
+ | |||
+ | |||
+ | ==== Travailler directement sur le dépôt principal ==== | ||
+ | |||
+ | Si vous êtes un développeur " | ||
+ | |||
+ | Vous n' | ||
==== Le dépôt et ses branches ==== | ==== Le dépôt et ses branches ==== | ||
- | Khanat utilise | + | Khanat utilise |
Les branches principales sont : | Les branches principales sont : | ||
- | * Branche **Lirria** (aka master) : Branche **stable**, où seul les hotfix et les nouvelles release sont autorisés à être mergés. Cette branche garantie une expérience sans (trop de) bugs, dans la mesure du possible. | + | * Branche **Master** (aka Lirria) : Branche **stable**, où seul les hotfix et les nouvelles release sont autorisés à être mergés. Cette branche garantie une expérience sans (trop de) bugs, dans la mesure du possible. |
* Branche **Develop** : Branche de dévellopement, | * Branche **Develop** : Branche de dévellopement, | ||
Ligne 41: | Ligne 42: | ||
* Branche **Feature** : C'est **une nouvelle addition** au code de Khanat, développée dans une branche séparé afin de réduire les risque d' | * Branche **Feature** : C'est **une nouvelle addition** au code de Khanat, développée dans une branche séparé afin de réduire les risque d' | ||
* Branche **Release** : Ce type de branche est **spécifique au dépôt principal**, | * Branche **Release** : Ce type de branche est **spécifique au dépôt principal**, | ||
- | * Branche **Bugfix** : C'est une branche ayant pour objectif de **rapidement corriger un bug affectant Lirria**. De ce fait, elle sera merge vers la branche " | + | * Branche **Hotfix** : C'est une branche ayant pour objectif de **rapidement corriger un bug critique |
Les branches, que ce soit sur votre fork ou sur les dépôts officiels, doivent être nommé de la façon suivante: | Les branches, que ce soit sur votre fork ou sur les dépôts officiels, doivent être nommé de la façon suivante: | ||
Ligne 49: | Ligne 50: | ||
* Branche **Release** : Doit être nommée " | * Branche **Release** : Doit être nommée " | ||
* Exemple : " | * Exemple : " | ||
- | * Branche **Bugfix** : Doit être nommée "bugfix/[numéro du/des bug(s)]-[descriptif du/des bug(s) sans espace ni ponctuation]" | + | * Branche **Hotfix** : Doit être nommée "hotfix/[numéro du/des bug(s)]-[descriptif du/des bug(s) sans espace ni ponctuation]" |
- | * Exemple : "bugfix/ | + | * Exemple : "hotfix/ |
==== Publication d'une feature ==== | ==== Publication d'une feature ==== | ||
- | ==== Merge d'une feature dans Develop | + | |
- | ==== Création | + | Une fois que vous considérez la feature que vous avez développé terminé, vous pouvez créer une Merge Request, à destination de **Develop**. Cette requête doit respecter ces impératifs : |
- | ==== Finaliser | + | |
+ | * Le CI Gitlab doit pourvoir la compiler avec succès. | ||
+ | * La feature et son code doivent être documentée. | ||
+ | * La Merge Request doit clairement expliquer la feature (son utilisation, | ||
+ | |||
+ | ==== Publication | ||
+ | |||
+ | Une fois un certain nombre de features sont mergés avec Develop, nous créons | ||
+ | |||
+ | Une fois le nouveau code testé, et les bugs corrigés, la release est tagué, et publié dans master. | ||
==== Créer un HotFix ==== | ==== Créer un HotFix ==== | ||
+ | |||
+ | Il arrive que des bugs critiques passe à travers les maillons du filet de la QA, c'est pourquoi il est parfois nécessaire de faire des " | ||
+ | |||
+ | Pour cela, il faut faire une branche " | ||
===== Gestion des Merge Request ===== | ===== Gestion des Merge Request ===== | ||
+ | |||
+ | Lorsqu' | ||
+ | |||
+ | Cela permettra d' | ||
+ | |||
+ | **On ne merge jamais soi-même directement sur Master**. | ||
===== Gestion des Issues ===== | ===== Gestion des Issues ===== | ||
+ | De préférence à la [[taf> | ||
+ | |||
+ | De même, avant de commencer une tâche, créez une Issue que vous vous attribuez, comme ça vous pouvez numéroter la branche correctement et on sait que quelqu' | ||
+ | |||
+ | Les travaux à faire, modifications de fichier, créations, doivent être indiqués en se servant du système d'// | ||
+ | |||
+ | Il suffit de cliquer sur : {{ : | ||
+ | |||
+ | Vous renseignez ensuite les différents champs. | ||
+ | |||
+ | Le titre doit être concis et le plus explicite possible. | ||
+ | \\ Par contre, n' | ||
+ | |||
+ | Il y a ensuite 3 zones de champs à renseigner : | ||
+ | |||
+ | * // | ||
+ | * // | ||
+ | * //Labels// permet de choisir des tags pour déterminer le genre de tâche ; | ||
+ | * //Select due date// propose de fixer une date de remise des travaux. | ||
+ | |||
+ | Dans le doute, n' | ||
===== Gestion des Milestones ===== | ===== Gestion des Milestones ===== | ||
+ | |||
+ | On se servira des mêmes // | ||
===== Gestion des Tags ===== | ===== Gestion des Tags ===== | ||
+ | Nous n' | ||
===== Gestion des Labels ===== | ===== Gestion des Labels ===== | ||
+ | |||
+ | Les //Labels// doivent être génériques et permettre ainsi de regrouper par genre de compétence. Il est possible d'en créer lors de la génération d'une //Issue// si aucune ne convient mais cela peut être fait par la suite, surtout quand on est indécis. | ||
{{tag> | {{tag> |