admin:services:gitlab
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
admin:services:gitlab [2015/05/15 23:21] – créée gabriel.detraz | 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 de federez | + | ====== GitLab ====== |
- | Il se situe sur Baldrick, VM jessie hébergée au Cr@ns. | + | GitLab est installé |
- | Pour l' | + | ===== Installation ===== |
- | Cependant, nous avons utilisé la version packagée Jessie de ruby, à savoir ruby | + | Il a été décidé d' |
- | Cela nous a permis d' | + | On a donc la vm octogon, 2 gigas de ram et 1 coeurs sous debian 8, puis on suit le tuto gitlab. |
+ | ==== Installation de gitlab avec omnibus sur octogon ==== | ||
+ | < | ||
+ | sudo apt-get install curl openssh-server ca-certificates postfix | ||
+ | </ | ||
+ | Puis on install les sources gitlab : | ||
+ | < | ||
+ | curl -sS https:// | ||
+ | sudo apt-get install gitlab-ce | ||
+ | </ | ||
+ | Enfin, | ||
+ | < | ||
+ | sudo gitlab-ctl reconfigure | ||
+ | </ | ||
+ | Puis on va sur octogon.crans.org, | ||
- | Installé entre le 14 et le 15 mai 2015 par toadjaune | + | ==== Migration des données depuis baldrick ==== |
+ | |||
+ | Sur baldrick, on avait un gitlab avec mysql et sources. On passe de mysql à postgresql en passant par ce tuto. Les 2 gitlab sont mis à la meme version, la migration se passe bien. | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ==== Ajout de l'auth ldap ==== | ||
+ | |||
+ | On édite les lignes qui vont bien dans le fichier / | ||
+ | |||
+ | http:// | ||
+ | |||
+ | Notamment le serveur ldap, le mot de passe, la base de recherche. | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | 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 | ||
+ | < | ||
+ | gitlab-ctl reconfigure | ||
+ | </ | ||
+ | |||
+ | ==== Https ==== | ||
+ | |||
+ | On utilise l' | ||
+ | |||
+ | |||
+ | En gros, dans / | ||
+ | < | ||
+ | # note the ' | ||
+ | external_url " | ||
+ | letsencrypt[' | ||
+ | </ | ||
+ | |||
+ | Enfin on reconfigure | ||
+ | |||
+ | ==== Container registry ==== | ||
+ | |||
+ | On utilise | ||
+ | |||
+ | 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 | ||
+ | |||
+ | 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 | ||
+ | port: 6667 | ||
+ | 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 | ||
+ | ServerSignature Off | ||
+ | |||
+ | ProxyPreserveHost On | ||
+ | |||
+ | # Ensure that encoded slashes are not decoded but left in their encoded state. | ||
+ | # http:// | ||
+ | AllowEncodedSlashes NoDecode | ||
+ | |||
+ | < | ||
+ | Order deny, | ||
+ | Allow from all | ||
+ | |||
+ | ProxyPassReverse https:// | ||
+ | ProxyPassReverse gitlab.federez.net | ||
+ | </ | ||
+ | |||
+ | #apache equivalent of nginx try files | ||
+ | # http:// | ||
+ | # http:// | ||
+ | RewriteEngine on | ||
+ | RewriteCond %{DOCUMENT_ROOT}/ | ||
+ | RewriteRule .* http:// | ||
+ | RequestHeader set X_FORWARDED_PROTO ' | ||
+ | |||
+ | # needed for downloading attachments | ||
+ | DocumentRoot / | ||
+ | |||
+ | #Set up apache error documents, if back end goes down (i.e. 503 error) then a maintenance/ | ||
+ | ErrorDocument 404 /404.html | ||
+ | ErrorDocument 422 /422.html | ||
+ | ErrorDocument 500 /500.html | ||
+ | ErrorDocument 503 / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== LDAP ===== | ||
+ | |||
+ | Les utilisateurs sont authentifiés avec le serveur LDAP de FedeRez. | ||
+ | |||
+ | <file yaml / | ||
+ | ... | ||
+ | production: | ||
+ | ... | ||
+ | ldap: | ||
+ | enabled: true | ||
+ | servers: | ||
+ | main: | ||
+ | label: ' | ||
+ | |||
+ | host: ' | ||
+ | port: 389 | ||
+ | uid: ' | ||
+ | method: ' | ||
+ | bind_dn: ' | ||
+ | password: ' | ||
+ | |||
+ | active_directory: | ||
+ | block_auto_created_users: | ||
+ | base: ' | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===== Mise à jour ===== | ||
+ | |||
+ | Pour mettre à jour GitLab, lire le [[https:// | ||
+ | |||
+ | Suivi de la taille du dossier ''/ | ||
+ | |||
+ | * 2015-06-11 : 752 Mio (7.10.4 -> 7.11.4) |
admin/services/gitlab.1431724900.txt.gz · Dernière modification : 2015/05/15 23:21 de gabriel.detraz