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 01:06] – 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: | ||
- | ====== | + | ====== |
- | ==== Utilité ==== | + | GitLab est installé sur [[admin: |
- | Le but est de remplacer la forge, qui n'a pas eu le succès attendu. | + | ===== Installation ===== |
- | Le but est toujours le même, et double : | + | Il a été décidé d' |
- | - Permettre le partage | + | On a donc la vm octogon, 2 gigas de ram et 1 coeurs sous debian 8, puis on suit le tuto gitlab. |
- | - Permettre et promouvoir la création | + | ==== Installation |
+ | < | ||
+ | sudo apt-get install curl openssh-server ca-certificates postfix | ||
+ | </ | ||
+ | Puis on install les sources gitlab : | ||
- | On a donc choisi un outil largement utilisé dans les associations de federez, contrairement à la forge. | + | < |
+ | curl -sS https:// | ||
+ | sudo apt-get install gitlab-ce | ||
+ | </ | ||
+ | Enfin, | ||
- | ==== Installation ==== | + | < |
+ | sudo gitlab-ctl reconfigure | ||
+ | </ | ||
- | Il se situe sur Baldrick, VM jessie hébergée au Cr@ns. | + | Puis on va sur octogon.crans.org, et on setup le mdp admin gitlab, et c'est tout ! |
- | Pour l' | + | ==== Migration |
- | Cependant, nous avons utilisé | + | 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, |
- | Cela nous a permis d' | + | https:// |
- | Nous avons donc suivi ce tuto : https:// | + | ==== Ajout de l'auth ldap ==== |
- | A la section 2 ruby, baldrick étant sous jessie, nous avons juste utilisé la version d'apt, soit ruby 2.1.5 | + | On édite les lignes qui vont bien dans le fichier / |
- | A la section 4, nous avons utilisé les mêmes commandes, mais avec mysql. | + | http://doc.gitlab.com/ |
- | A la section 6, il faut télécharger l' | + | Notamment le serveur ldap, le mot de passe, la base de recherche. |
- | A la section 7, on a utilisé apache. Ca a consisté en une installation d' | + | < |
+ | ... | ||
+ | production: | ||
+ | | ||
+ | ldap: | ||
+ | enabled: true | ||
+ | servers: | ||
+ | main: | ||
+ | label: ' | ||
- | Voici les parties importantes du sites : | + | host: ' |
+ | port: 389 | ||
+ | uid: ' | ||
+ | method: ' | ||
+ | bind_dn: ' | ||
+ | password: ' | ||
+ | |||
+ | active_directory: | ||
+ | block_auto_created_users: | ||
+ | base: ' | ||
+ | ... | ||
+ | </ | ||
+ | Et on lance | ||
< | < | ||
- | < | + | gitlab-ctl reconfigure |
- | ServerName gitlab.federez.net | + | </ |
- | ServerAlias baldrick.federez.net baldrick.crans.org | + | |
- | | + | |
- | RewriteEngine on | + | ==== Https ==== |
- | RewriteCond %{HTTPS} !=on | + | |
- | RewriteRule .* https:// | + | |
- | </ | + | |
- | < | + | On utilise l' |
- | ServerName baldrick.federez.net | + | |
- | ServerAlias baldrick.crans.org gitlab-federez.crans.org | + | |
- | ServerSignature Off | + | |
- | RewriteEngine on | ||
- | RewriteRule .* https:// | ||
- | SSLEngine | + | En gros, dans / |
- | | + | < |
- | | + | # note the ' |
- | | + | external_url " |
- | </VirtualHost> | + | letsencrypt[' |
+ | </ | ||
+ | |||
+ | Enfin on reconfigure et c'est bon ! | ||
+ | |||
+ | ==== Container registry ==== | ||
+ | |||
+ | On utilise le container registry docker intégré à GitLab. | ||
+ | |||
+ | L' | ||
+ | |||
+ | Dans / | ||
+ | < | ||
+ | registry_external_url 'https:// | ||
+ | </ | ||
+ | |||
+ | 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 | ||
+ | * `mkdir / | ||
+ | * Ajouter une entrée dans `/ | ||
+ | * Monter le fs : `mount -a` | ||
+ | * Rajouter `gitlab_rails[' | ||
+ | * `gitlab-ctl reconfigure` | ||
+ | |||
+ | Et voilà | ||
+ | |||
+ | |||
+ | 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: "/etc/kgb-bot/kgb.conf.d" | ||
+ | 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 | ||
+ | |||
+ | 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://gitlab.com/gitlab-org/gitlab-ce/ | ||
+ | |||
+ | ==== 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 96: | Ligne 236: | ||
ErrorDocument 500 /500.html | ErrorDocument 500 /500.html | ||
ErrorDocument 503 / | ErrorDocument 503 / | ||
- | </code> | + | </VirtualHost> |
+ | </ | ||
+ | |||
+ | ===== 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 ''/ | ||
- | Installé entre le 14 et le 15 mai 2015 par toadjaune et Chirac. | + | * 2015-06-11 : 752 Mio (7.10.4 -> 7.11.4) |
admin/services/gitlab.1431731160.txt.gz · Dernière modification : 2015/05/16 01:06 de gabriel.detraz