Skip to content
Snippets Groups Projects
Commit d23a47d1 authored by Armand Bahi's avatar Armand Bahi
Browse files

DocGitLab

parent b3342c36
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,9 @@ ...@@ -2,7 +2,9 @@
Pour utiliser GitLab chaque personne pourra se créer un compte qui aura différents droits et différents paramètres. Pour utiliser GitLab chaque personne pourra se créer un compte qui aura différents droits et différents paramètres.
Chaque compte est unique et authendifié par l'identifiant du compte correspondant à une chaîne de caractères sans espaces (pour moi c'est *ArmandBahi*) que l'on voit affiché sous notre nom, après le @; tout compte possède également une adresse mail unique pour s'identifier. **Il est très important que les données que vous écrirez sur ces deux champs correspondent à celles que vous allez utiliser localement avec GitKraken etc..** Chaque compte est unique et authendifié par l'identifiant du compte correspondant à une chaîne de caractères sans espaces (pour moi c'est *ArmandBahi*) que l'on voit affiché sous notre nom, après le @; tout compte possède également une adresse mail unique pour s'identifier.
**Il est très important que les données que vous écrirez sur ces deux champs correspondent à celles que vous allez utiliser localement avec GitKraken etc..**
Je vais ci-après vous détailler les sections les plus importantes, pour éditer ces paramètres, il suffit de cliquer sur son profil (bouton en haut à droite) puis aller sur **Settings** Je vais ci-après vous détailler les sections les plus importantes, pour éditer ces paramètres, il suffit de cliquer sur son profil (bouton en haut à droite) puis aller sur **Settings**
......
# Dépôt GitLab # Dépôt GitLab
Les dépôts agissent comme des conteneurs de fichiers et permettent le versionnement, chaque dépôt est représenté par un lien unique proposé en HTTPS et SSH qui permettra d'effectuer un clone local du projet.
![depot](images/depot_1.jpg)
## Créer un dépôt
Pour créer un dépôt il suffit de cliquer sur le bouton **New project**, lors de la création d'un dépôt il est important de comprendre où doit-il se situer, par défaut il indiquera votre compte au quel cas vous serez hébergeur et il sera accessible à l'URL `https://gitlab.veremes.net/[votre nom]/[nom du dépôt]`. Pour un projet en production il est préférable le créer dans un groupe de manière à ce qu'il hérite des droits des utilisateurs et que son emplacement soit clair, pour cela il suffira de choisir le groupe voulu dans la liste déroulante située à droite de l'URL du projet.
La deuxième chose importante quand on crée un dépôt c'est sa visibilité en lecture et téléchargement, si un dépôt est **Private** alors seuls les personnes membres du projet pourront le visualiser, si il est **Internal** tous les utilisateurs authentifiés sur GitLab pourront y avoir accès ce qui dans notre cas n'a aucun sens car l'inscription est libre, la dernière option est l'option **Public** au quel cas tout le monde pourra avoir accès au dépôt.
Chaque dépôt doit contenir un fichier README.md contenant une description du projet car ce sera la page d'accueil des visiteurs.
![créer un dépôt](images/depot_new_1.jpg)
Une fois le dépôt crée il faudra éditer les paramètres comme détaillé ci-arpès dans la section [paramètres depot](depot_gitlab.html#)
## Branches principales
### Pour les projets FME
Quand les projet abritent des fichiers non textuels (audio, fmw, zip etc..) des conflits non résolvables vont apparaître régulièrement lors des étapes de merge, dans ce cas il est préférable de créer une branche de travail ouverte à tous les contributeurs, de protéger la branche master pour y faire des merge quand les développements ont étés validés.
### Pour les projets de développement
Dans ce cas il est possible d'utiliser 100% des capacités de Git et c'est ce que nous allons faire en appliquant la procédure suivante.
Sur la branche **master** nous appliquerons uniquement les correctifs, cette branche **doit absolument être stable** à tout moment car elle permettra de générer un correctif quand on le souhaite.
Une deuxième branche **next_version** permettra quand à elle à appliquer les évolutions, quand des correctifs sont appliqués à master, il faudra les merger sur cette branche de manière à avoir les dernières évolutions ainsi que les derniers correctifs.
Une fois les développements d'une version terminés il est important de tester dans un environnement de pré-production notre application, à ce moment nous créerons à partir de next_version une branche **20xx.xx.xx** contenant le numéro de build à générer (on utilise parfois **pre_prod** si il n'y a pas de numéro associé).
Les correctifs à effectuer se feront sur master puis seront mergés sur next_version et sur la branche de pré-production.
Quand l'environnement de pré-production est validé, il est alors mergé sur next_version puis sur master à partir duquel on créera le tag correspondant.
![branches depots](images/depot_branches.png)
## Faire un correctif
## Faire une évolution
## Créer un tag
## Paramétrer le dépôt
Une fois le dépôt crée on accède à la page suivante, on peut déjà le cloner pour alimenter ses fichiers mais nous allons tout d'abord le paramétrer. Pour cela il suffit de se rendre dans la section **Settings**
![créer un dépôt 2](images/depot_new_2.jpg)
Cette section est divisée en plusieurs parties que nous détaillerons pour la plupart ci-après.
![créer un dépôt 3](images/depot_new_3.jpg)
### 1. General
### 1.1 General project
Dans cette partie nous pouvons modifier le nom, la description, la photo etc.. affichés dans GitLab, ceci ne changera pas l'URL du projet et ce dernier pourra continuer à fonctionner sur les postes l'ayant clonné.
### 1.2 Permissions
Ici on peut activer/désactiver les différents modules GitLab disponibles, à Veremes nous utiliserons le paramétrage suivant :
- **Issues** permet la gestion des demandes, doit être acivée celons les besoins
- **Repository** doit être activé
- **Merge requests** doit être activé
- **Pipelines** doit être desactivé
- **Git Large File Storage** doit être desactivé
- **Wiki** doit être desactivé
- **Snippets** doit être desactivé
### 1.3 Advanced
Permet de supprimer le projet ou de changer son URL
### 2. Members
Ici nous pourrons définir quels seront les droits des différents contributeurs, pour plus d'informations vous pouvez lire la section [droits GitLab](objets_gitlab.html#droits).
### 2. Integrations
Cette partie permettra de mettre en place des Web-hooks pour lier le projet à un logiciel tiers (ReadTheDocs etc..)
### 3. Repository
Dans cette section il est important de ce pencher sur la partie **Protected branches**, c'est ici que nous déciderons des branches à protéger.
![créer un dépôt 4](images/depot_new_4.jpg)
Il est **fortement conseillé** de protéger les branches **master** et **next_version** de telle sorte que les développeurs ne puissent pas commiter directement dessus, pour apporter leurs modifications les développeurs devront créer des branches puis des merge requests pour que la personne en charge du projet valide les modifications.
gitlab/images/depot_1.jpg

253 KiB

gitlab/images/depot_branches.jpg

22.1 KiB

gitlab/images/depot_branches.png

16.9 KiB

gitlab/images/depot_new_1.jpg

283 KiB

gitlab/images/depot_new_2.jpg

245 KiB

gitlab/images/depot_new_3.jpg

249 KiB

gitlab/images/depot_new_4.jpg

62.4 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment