admin:services:gitlab
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 | ||
admin:services:gitlab [2015/05/16 10:53] – Introduction plus courte bertrand.bonnefoy-claudet | admin:services:gitlab [2020/07/27 19:42] (Version actuelle) – Passage du container registry sur un disque séparé toadjaune | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== GitLab | + | ====== GitLab ====== |
- | GitLab est installé sur [[admin: | + | GitLab est installé sur [[admin: |
- | ==== Installation ==== | + | ===== Installation |
- | === Introduction === | + | Il a été décidé d' |
- | Pour l' | + | On a donc la vm octogon, 2 gigas de ram et 1 coeurs sous debian 8, puis on suit le tuto gitlab. |
- | Cependant, nous avons utilisé la version packagée Jessie | + | ==== Installation |
- | Cela nous a permis d' | + | < |
+ | sudo apt-get install curl openssh-server ca-certificates postfix | ||
+ | </ | ||
- | Nous avons donc suivi ce tuto : https:// | + | Puis on install les sources gitlab |
- | === Détail de l' | + | < |
+ | curl -sS https:// | ||
+ | sudo apt-get install gitlab-ce | ||
+ | </ | ||
- | Section 1, il s'agit d' | + | Enfin, |
- | A la section 2 ruby, baldrick étant sous jessie, nous avons juste utilisé la version d'apt, soit ruby 2.1.5, au lieu de recompiler comme le tuto le présente. | + | < |
+ | sudo gitlab-ctl reconfigure | ||
+ | </ | ||
- | Section 3, pas de problèmes non plus. | + | Puis on va sur octogon.crans.org, et on setup le mdp admin gitlab, et c'est tout ! |
- | A la section 4, nous avons utilisé les mêmes commandes, mais avec mysql. | + | ==== Migration des données depuis baldrick ==== |
- | La suite des commandes | + | Sur baldrick, on avait un gitlab |
- | A la section 6, il faut télécharger l' | + | https://gitlab.com/ |
- | Ca se gate au moment d'installer gems, il est apparu que le paquet RedCloth -v ' | + | ==== Ajout de l'auth ldap ==== |
- | Il nous a fallu réinstaller ruby-dev et ruby pour solutionner le problème. | + | |
+ | On édite les lignes qui vont bien dans le fichier / | ||
- | === Apache === | + | http:// |
- | A la section 7, on a utilisé apache, au lieu de nginx. Ca a consisté en une installation d' | + | Notamment le serveur ldap, le mot de passe, la base de recherche. |
- | Voici les parties importantes du sites : | + | < |
+ | ... | ||
+ | production: | ||
+ | ... | ||
+ | ldap: | ||
+ | enabled: true | ||
+ | servers: | ||
+ | main: | ||
+ | label: ' | ||
+ | host: ' | ||
+ | port: 389 | ||
+ | uid: ' | ||
+ | method: ' | ||
+ | bind_dn: ' | ||
+ | password: ' | ||
+ | |||
+ | active_directory: | ||
+ | block_auto_created_users: | ||
+ | base: ' | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Et on lance | ||
< | < | ||
- | Définir ici 2 virtualhosts | + | gitlab-ctl reconfigure |
- | Ensuite | + | </ |
+ | |||
+ | ==== Https ==== | ||
+ | |||
+ | On utilise l' | ||
+ | |||
+ | |||
+ | En gros, dans / | ||
+ | < | ||
+ | # note the ' | ||
+ | external_url | ||
+ | letsencrypt[' | ||
+ | </ | ||
+ | |||
+ | Enfin on reconfigure et c'est bon ! | ||
+ | |||
+ | ==== Container registry ==== | ||
+ | |||
+ | On utilise le container registry docker intégré à GitLab. | ||
+ | |||
+ | L' | ||
+ | |||
+ | Dans / | ||
+ | < | ||
+ | registry_external_url ' | ||
+ | </ | ||
+ | |||
+ | On reconfigure, | ||
+ | |||
+ | Comme le stockage des layers docker peut vite prendre pas mal de place, et n'est pas vraiment critique dans le contexte de FedeRez, on les met sur un disque séparé (par exemple pour faciliter une migration ou des backups…) : | ||
+ | |||
+ | * Ajouter un nouveau disque sur l' | ||
+ | * Formater le disque : `mkfs.ext4 / | ||
+ | * `mkdir / | ||
+ | * Ajouter une entrée dans `/ | ||
+ | * Monter le fs : `mount -a` | ||
+ | * Rajouter `gitlab_rails[' | ||
+ | * `gitlab-ctl reconfigure` | ||
+ | |||
+ | Et voilà ! (Ne pas oublier de copier les données depuis leur emplacement par défaut, si le registry avait déjà servi…) | ||
+ | |||
+ | |||
+ | Plus qu'à ajouter le nettoyage automatique du registry, comme [[https:// | ||
+ | |||
+ | |||
+ | ==== Mettre à jour ==== | ||
+ | |||
+ | Rien de plus simple : sudo apt-get upgrade ... | ||
+ | |||
+ | ===== Bot irc ====== | ||
+ | |||
+ | Kgb-bot et kgb client sont en place. Leur configuration, | ||
+ | |||
+ | Pour / | ||
+ | < | ||
+ | # vim: filetype=yaml | ||
+ | --- | ||
+ | soap: | ||
+ | # | ||
+ | server_addr: | ||
+ | server_port: | ||
+ | service_name: | ||
+ | queue_limit: | ||
+ | log_file: "/ | ||
+ | include: "/ | ||
+ | repositories: | ||
+ | saclay: | ||
+ | password: plop | ||
+ | admin: | ||
+ | password: plop | ||
+ | networks: | ||
+ | rezosup-saclay: | ||
+ | nick: DGSI-Paris-Saclay | ||
+ | ircname: DGSI-Paris-Saclay | ||
+ | username: dgsi-paris-saclay | ||
+ | password: ~ | ||
+ | nickserv_password: | ||
+ | server: irc.ensc.rezosup.org | ||
+ | | ||
+ | rezosup-federez: | ||
+ | nick: DGSI-FedeRez | ||
+ | ircname: DGSI-FedeRez | ||
+ | username: dgsi-federez | ||
+ | password: ~ | ||
+ | nickserv_password: | ||
+ | server: irc.ensc.rezosup.org | ||
+ | port: 6667 | ||
+ | channels: | ||
+ | - name: '# | ||
+ | network: rezosup-saclay | ||
+ | repos: | ||
+ | - saclay | ||
+ | - name: '# | ||
+ | network: rezosup-saclay | ||
+ | repos: | ||
+ | - saclay | ||
+ | - name: '# | ||
+ | network: rezosup-federez | ||
+ | repos: | ||
+ | - admin | ||
+ | pid_dir: / | ||
+ | min_protocol_ver: | ||
+ | </ | ||
+ | |||
+ | Pour faire appel à kgb, il faut modifier le post-receive dans un projet gitlab (dossier repositories). | ||
+ | |||
+ | Les scripts sont dans / | ||
+ | |||
+ | ===== Ancien setup avec les sources (obsolète !) ===== | ||
+ | |||
+ | |||
+ | ==== Méthode ==== | ||
+ | |||
+ | Il y a deux méthodes principales d' | ||
+ | |||
+ | Le guide suivi est https:// | ||
+ | |||
+ | ==== Ruby ==== | ||
+ | |||
+ | Contrairement à ce que suggère le guide, Ruby a été installé via les dépôts (version 2.1.5 dans Jessie) : | ||
+ | |||
+ | apt-get install ruby ruby-dev | ||
+ | |||
+ | ==== Base de données ==== | ||
+ | |||
+ | MySQL a été choisi plutôt que PosgreSQL. | ||
+ | |||
+ | ==== Serveur web ==== | ||
+ | |||
+ | On utilise Apache au lieu de Nginx. | ||
+ | |||
+ | <file apache / | ||
< | < | ||
ServerName gitlab.federez.net | ServerName gitlab.federez.net | ||
Ligne 77: | Ligne 237: | ||
ErrorDocument 503 / | ErrorDocument 503 / | ||
</ | </ | ||
- | </code> | + | </file> |
- | ==== LDAP ==== | + | ===== LDAP ===== |
- | Pour terminer, on interface l' | + | Les utilisateurs sont authentifiés |
- | <code> | + | <file yaml / |
- | label: ' | + | ... |
+ | production: | ||
+ | ... | ||
+ | ldap: | ||
+ | enabled: true | ||
+ | servers: | ||
+ | main: | ||
+ | | ||
host: ' | host: ' | ||
port: 389 | port: 389 | ||
uid: ' | uid: ' | ||
- | method: ' | + | method: ' |
bind_dn: ' | bind_dn: ' | ||
- | password: | + | password: |
- | + | ||
active_directory: | active_directory: | ||
block_auto_created_users: | block_auto_created_users: | ||
- | base: ' | + | base: ' |
- | </code> | + | ... |
+ | </file> | ||
- | Et c'est tout. Ici, la requête se fait via un user, de type service-users, | + | ===== Mise à jour ===== |
- | Installé entre le 14 et le 15 mai 2015 par toadjaune et Chirac. | + | Pour mettre à jour GitLab, lire le [[https:// |
+ | Suivi de la taille du dossier ''/ | ||
- | ===== Mise à jour ===== | + | * 2015-06-11 : 752 Mio (7.10.4 -> 7.11.4) |
- | Il faut git puller l' | + |
admin/services/gitlab.1431766419.txt.gz · Dernière modification : 2015/05/16 10:53 de bertrand.bonnefoy-claudet