|
|
# Informations sur l'utilisation et la mise en œuvre de GitLab chez Inria
|
|
|
Cette page a pour but de préciser les spécificités de GitLab dans le contexte Inria. Pour la documentation générale (administration des utilisateurs, groupes et permissions, bug tracker, wiki, workflow GitLab pull/request,...), consultez l'[aide en ligne] (https://gitlab.inria.fr/help ) sur notre serveur ou sur celui de [gitlab] (https://docs.gitlab.com/ce). Ces 2 liens permettent d'accéder à la documentation de la version *Community Edition* de GitLab.
|
|
|
# Informations about Inria's GitLab instance
|
|
|
|
|
|
Le service Gitlab d'Inria est accessible à l'adresse https://gitlab.inria.fr
|
|
|
The goal of this documentation is to describe the specific features of the Inria's GitLab instance. For general GitLab documentation (projects or groups administration, user account settings, permissions, available tools and workflows), look at the [online documentation on our server](https://gitlab.inria.fr/help) or on [gitlab server](https://docs.gitlab.com/ce). These are links to the documentation of GitLab's *Community Edition*, which is the version which is installed at Inria.
|
|
|
|
|
|
Inria's GitLab service address is https://gitlab.inria.fr
|
|
|
|
|
|
# Comptes GitLab
|
|
|
La gestion des comptes sur la plateforme Gitlab suit la même logique que celle utilisée sur la Forge :
|
|
|
* Tout utilisateur Inria peut créer un projet et l'administer
|
|
|
* Tout utilisateur non Inria n'a par défaut aucun droit de création de projet : il doit être invité par un utilisateur Inria afin de participer à un projet.
|
|
|
# GitLab accounts
|
|
|
* All users with an Inria ldap account have immediate access to this GitLab with their Inria account, by login in the **iLDAP** login tab. They have standard GitLab permissions: create projects, groups, and administer them.
|
|
|
* All users without an Inria account can [create an account](https://gitlab-account.inria.fr/). They will receive a confirmation mail, and after their account is confirmed, they get an [external account](https://gitlab.inria.fr/help/user/permissions.md#external-users). Then they can login in the **Standard** login tab. They won't be able to create projects nor groups, but can be invited by Inria members to participate in project(s).
|
|
|
This logic is similar to the [InriaForge](gforge.inria.fr)'logic regarding permissions of Inria members versus external users, the difference being that the InriaForge accounts database is separated from the Inria ldap accounts database, whereas GitLab supports dual authentication (ldap or external).
|
|
|
|
|
|
Plus précisément, la mécanique de gestion des comptes pour Gitlab est la suivante :
|
|
|
* Pour tout utilisateur disposant d'une adresse mail Inria et d'un compte actif, le compte GitLab est connectée à la première connexion de l'utilisateur via iLDAP (onglet *LDAP* sur la page https://gitlab.inria.fr)) : l'utilisateur ainsi authentifié a alors les droits pour créer et administrer des projets ;
|
|
|
* Pour les utilisateurs non Inria, un compte GitLab doit être créé à partir de la page https://gitlab-account.inria.fr/ .L'utilisateur recevra un mél contenant un lien pour confirmer son inscription. La connexion au service se fera avec l'onglet *Standard* sur la page https://gitlab.inria.fr . Un utilisateur extérieur ne peut pas créer de projet : il doit être alors invité par un utilisateur Inria pour participer à un projet.
|
|
|
Note that for Inria members, the corresponding GitLab account is activated upon the first connection. So, to activate your accounts and allow projects or group administrators to add you to projects or groups, you need to login to the GitLab at least once.
|
|
|
|
|
|
# Rejoindre un projet GitLab
|
|
|
* Les utilisateurs disposant d'une adresse mail Inria peuvent par défaut créer 50 projets. Un administrateur peut augmenter le nombre de projets.
|
|
|
* Les utilisateurs externes ne peuvent pas créer de projet mais un responsable de projet peut les ajouter à son ou ses projets.
|
|
|
Currently the maximum number of projects a user can create is 50.
|
|
|
|
|
|
# Support
|
|
|
|
|
|
Avant toute demande au support, vérifiez que la réponse ne figure pas dans notre [FAQ](faq).
|
|
|
Ensuite, vous pouvez soumettre une demande au support via la création d'un ticket support sur le portail helpdesk Inria https://helpdesk.inria.fr/ . Pour cela un compte Inria est requis. Sur ce portail, sélectionner "IT support request", puis "ask for a fix" or "service request", puis "services for research", puis "Incident GitLab". Vous pouvez également soumettre une demande de support par mail à l'adresse <mailto:sed-forge.helpdesk-prc@inria.fr> (C'est ainsi qu'il faut procéder lorsque vous n'avez pas de compte Inria).
|
|
|
Lorsque vous soumettez une demande de support, n'oubliez pas de fournir tous les détails utiles à la résolution de votre problème. Vous pouvez par exemple lire à ce sujet: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
|
|
|
Before submitting any ticket to the support, check that your question is not already answered in our [FAQ](faq) or in this documentation.
|
|
|
Then, you can submit a support ticket at the inria helpdesk portal (inria account is mandatory). On this portal, select "IT support request", then "ask for a fix" or "service request", and then select "services for research", then "GitLab". You can also submit a support ticket by mail at address sed-gitlab.helpdesk-prc at inria.fr (this is the way to go if you don't have an inria account).
|
|
|
When submitting your request, don't forget to provide accurate details of what's going wrong. Read, for example, [How to Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html).
|
|
|
|
|
|
# Sauvegardes / Restaurations
|
|
|
# Migrating a project from another GitLab instance.
|
|
|
|
|
|
* Les dépôts Git sont sauvegardés toutes les heures tandis que les données GitLab (utilisateurs, BugTracker, gestion pull-request,...) sont sauvegardées quotidiennement.
|
|
|
* Pour une demande de restauration du dépôt GIT en cas de problème, il faudra créer un ticket dans le helpdesk.
|
|
|
* Il n'est pas possible de restaurer un projet avec ses méta-données.
|
|
|
To do that, you have to export your project from the other GitLab instance and import it to this instance. But You need to [check that the import/export format are compatible](https://gitlab.inria.fr/help/user/project/settings/import_export.md). In case of import/export formats mismatch, we cannot give any guarantee of what will be imported or if it will work at all, though there are some reports of people successfully importing a project exported in format 0.1.4 to a GitLab instance expecting format 0.1.5.
|
|
|
|
|
|
# Migration d'un projet à partir d'une autre instance de gitlab
|
|
|
|
|
|
## Créer un fichier d'export du projet
|
|
|
Il faut disposer d'une instance de gitlab avec une version supérieure ou égale à la version 8.12
|
|
|
Il faut alors générer un fichier d'export en suivant le chemin :
|
|
|
http://{gitlab_projet_url}/edit
|
|
|
puis cliquer sur le bouton **Export project**. Une fois l'export du projet construit, l'utilisateur reçoit un message du gitlab source lui indiquant un lien pour télécharger le fichier d'export (au format tgz).
|
|
|
|
|
|
Une fois ce fichier construit:
|
|
|
|
|
|
## Créer les comptes des membres du projet sur le gitlab INRIA
|
|
|
Il faut avant de migrer le projet sur le gitlab INRIA de disposer des informations permettant de reconstruire les comptes utilisateurs dans le gitlab INRIA.
|
|
|
Deux cas sont possibles:
|
|
|
### Membre du projet utilisant déjà le LDAP INRIA pour se connecter
|
|
|
Dans ce cas il faut que l'utilisateur se connecte une fois dans le gitlab INRIA avant la migration avec son compte LDAP
|
|
|
### Membre du projet utilisant un compte externe ou local à l'instance gitlab source
|
|
|
Dans ce cas, il faudra communiquer à l'équipe support l'adresse mail et l'identifiant du compte dans le gitlab source.
|
|
|
Cela permettra à l'équipe support de construire les comptes analogues dans le gitlab INRIA avant la migration.
|
|
|
|
|
|
Une fois cette étape finie, il vous sera possible d'importer votre projet via l'interface de création de projets avec le bouton "export gitlab". Attention, ce bouton est grisé tant que le nom du nouveau projet n'est pas saisi.
|
|
|
|
|
|
## Après la migration
|
|
|
Il est probable que les chemins des comptes des membres et du projet changent sur le gitlab INRIA. Il est donc recommandé à l'utilisateur de vérifier les liens dans ces documentations et programmes pour tenir compte de la migration.
|
|
|
|
|
|
|
|
|
# Limitations du service
|
|
|
* Un utilisateur Inria peut créer jusqu'à 50 projets ;
|
|
|
* Un projet ne peut pas dépasser 2G de données ;
|
|
|
* Le service d'intégration continue proposé par GitLab est désactivé. Nous vous recommandons d'utiliser le serveur Jenkins ci.inria.fr. Aucun support ne sera assuré au niveau du service d'intégration continue proposé par Gitlab.
|
|
|
|
|
|
# Documentation Gitlab avancé
|
|
|
**Important notice**: before doing the import, make sure that all the user accounts referenced from the project in the previous GitLab instance are re-created identically in this GitLab instance **before** importing the project. This is not mandatory for the git history data, where the commiter is just a string, but it is mandatory for all GitLab specific tools such as issues, comments, etc. Some of the records for which no corresponding user account are found during import will be attributed the the account which performed the import instead, and some of these records will simply disappear (eg. issues raised or belonging to an nonexistent account simply disappear). Do not forget that for Inria members, for their accounts to be activated in GitLab, they need to login at least once to GitLab.
|
|
|
|
|
|
# limitations:
|
|
|
* users can create up to 50 projects
|
|
|
* project size are limited to 2GB
|
|
|
* GitLab's integrated continuous integration is deactivated by default. Nothing prevents you to enable it on a per project basis, but then you're on your own, we do not currently provide support for this. More specifically we do not yet provide support for interfacing GitLab with Inria's continuous integration platform. |