# 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) ## 1. 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) ## 2. 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) ### 2.1. General #### 2.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é. #### 2.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 selon 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é ### 2.1.3 Advanced Permet de supprimer le projet ou de changer son URL ### 2.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.3. Integrations Cette partie permettra de mettre en place des Web-hooks pour lier le projet à un logiciel tiers (ReadTheDocs etc..) ### 2.4. 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. Vous trouverez plus d'informations à propos des branches dans le section [Corrections et évolutions](correctifs_evolutions.html#branches-principales)