= GitLab = !GitLab est une interface Web pour les dépôts Git proposant de multiples fonctionnalités pratiques pour visualiser un dépôt, et donner des droits de commit/push à des utilisateurs n'existant pas sur le serveur. Il est initialement basé sur gitolite, mais est devenu totalement indépendant. <> == Installation == Pour installer Gitlab, on a suivi cette page : [[https://about.gitlab.com/install/#debian]]. C'est un paquet « Omnibus » qui contient l'ensemble de l'environnement Gitlab. Il permet de grandement simplifier les mises à jours. Le gitlab n'utilise donc pas thot pour sa base de donnée mais l'installation locale de pgsql fourni avec le paquet omnibus. /!\ Le serveur web nginx de l'omnibus n'est pas utilisé, on utilise le serveur nginx de debian pour pouvoir gérer les certificats de gitlab.adm.crans.org et gitlab.crans.org séparément. Pour l'intégration avec le CAS du Crans, voir [[https://docs.gitlab.com/ce/integration/cas.html]]. Les dépôts git se trouvent dans {{{/var/opt/gitlab/git-data/repositories}}} == Documentation == Pour la maintenance, les mise à jour et autre voir https://docs.gitlab.com/omnibus/README.html == Le Gitlab du Crans == Les adhérents du Crans ont la possibilité d'y héberger '''jusqu'à 75 projets''' qui peuvent être ''publics'', ''privés'', ou ouverts seulement aux utilisateurs connectés (''internes''). Il est possible de demander une augmentation de cette limite en envoyant un mail à <> === Gitlab CI === Pour faire de l'intégration en continu, le crans dispose d'un ''gitlab runner'' installé sur [[CransTechnique/LesServeurs/ServeurVulcain|Vulcain]]. Pour l'installer: * On suit la doc là: [[https://docs.gitlab.com/runner/install/linux-repository.html]] * L'installation du paquet s'arrete à la création de l'utilisateur (pas d'acces sur le NFS) du coup on finit à la main : {{{ sudo useradd -m -d /data/gitlab-runner gitlab-runner sudo apt -f install gitlab-runner }}} * On installe docker : [[https://docs.docker.com/install/linux/docker-ce/debian/#install-docker-ce]] * On configure le gitlab et le gitlab-runner pour qu'ils communiquent entre eux [[https://docs.gitlab.com/runner/register/index.html]] ,où l'on choisit {{{docker}}} comme "executor". Pour utiliser ce service il faut ajouter au dépot concerné le fichier de configuration {{{.gitlab-ci.yml}}} en spécifiant notamment l'image docker à utiliser. === Lien === Le GitLab du Crans se trouve à l'adresse https://gitlab.crans.org. === Tutoriel === ==== 1ère utilisation ==== * Vous pouvez vous connecter avec votre login/mot de passe Cr@ns. * Si vous n'avez pas de clé SSH, générez-en une. Cf WikiInformatique/ConnexionSsh#Les_clefs_SSH * Allez dans {{{Profile settings}}} puis {{{SSH Keys}}} * {{{Add SSH Key}}} * Donnez-lui un nom sympathique dans {{{Title}}} (comme, par exemple, le nom de la machine sur laquelle elle est) et collez le contenu du fichier {{{~/.ssh/id_rsa.pub}}} dans {{{Key}}}. ==== Cloner un dépôt ==== Quand vous êtes sur la page gitlab d'un dépôt, pour le cloner, il faut récupérer l'uri. Vous pouvez choisir SSH ou HTTPS. En SSH, l'url ressemble à {{{git@gitlab.crans.org:namespace/projet.git}}}, en HTTPS {{{https://gitlab.crans.org/namespace/projet.git}}} ==== Annoncer les commits sur IRC ==== Le Cr@ns met à disposition un bot irc qui peut annoncer les commits d'un dépôt sur un salon irc. Le bot s'appelle !GitlabBot sur irc. Pour l'utiliser, il suffit de le configurer sur le dépôt. Dans "Settings/Integrations" il faut paramétrer le "Project services" qui s'appelle "Irker (IRC gateway)" avec les paramètres suivants : * Default IRC URI : l'adresse du serveur irc (pour l'irc Cr@ns: ircs://irc.crans.org:6697/) * Recipients : le salon irc ou les annonces doivent être faites. Et le reste des paramètres par défaut. == Bogues connus == ---- CatégoriePagePublique