Outils pour utilisateurs

Outils du site


admin:services:gitlab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
admin:services:gitlab [2015/05/16 01:36] gabriel.detrazadmin:services:gitlab [2020/07/22 20:19] – Ajout du container registry toadjaune
Ligne 1: Ligne 1:
-====== Gitlab de federez ======+====== GitLab ======
  
-==== Utilité ====+GitLab est installé sur [[admin:serveurs:octogon|Octogon]] et est disponible à l'adresse https://gitlab.federez.net.  Il est utilisé pour les projets de FedeRez et ceux des associations membres.
  
-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'utiliser l'installateur omnibus.
  
-- Permettre le partage de projets au sein de federez développés en interne, mais transposables ailleurs,+On a donc la vm octogon, 2 gigas de ram et 1 coeurs sous debian 8puis on suit le tuto gitlab.
  
-- Permettre et promouvoir la création de projets communs entre plusieurs assos, via un gitlab commun.+==== Installation de gitlab avec omnibus sur octogon ====
  
 +<code>
 +sudo apt-get install curl openssh-server ca-certificates postfix
 +</code>
  
- On a donc choisi un outil largement utilisé dans les associations de federez, contrairement à la forge.+Puis on install les sources gitlab : 
  
 +<code>
 +curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
 +sudo apt-get install gitlab-ce
 +</code>
  
-==== Installation ====+Enfin,
  
-== Introduction ==+<code> 
 +sudo gitlab-ctl reconfigure 
 +</code>
  
-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'installation, nous avons choisi de ne pas utiliser l'installateur omnibus, mais de suivre l'installation pas à pas à partir des sources git.+==== Migration des données depuis baldrick ====
  
-Cependantnous avons utilisé la version packagée Jessie de ruby, à savoir ruby 2.1.5+Sur baldrickon avait un gitlab avec mysql et sources. On passe de mysql à postgresql en passant par ce tutoLes 2 gitlab sont mis à la meme version, la migration se passe bien.
  
-Cela nous a permis d'utiliser mysql et apache, à la place de postgres et de nginx par exemple.+https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/mysql_to_postgresql.md
  
-Nous avons donc suivi ce tuto : https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md+==== Ajout de l'auth ldap ====
  
-== Détail de l'installation ==+On édite les lignes qui vont bien dans le fichier /etc/gitlab/gitlab.rb
  
-Section 1, il s'agit d'installer l'ensemble des paquets nécessaires, sans problème.+http://doc.gitlab.com/ee/integration/ldap.html#enabling-ldap-sign-in-for-existing-gitlab-users
  
-A la section 2 rubybaldrick étant sous jessienous avons juste utilisé la version d'apt, soit ruby 2.1.5+Notamment le serveur ldaple mot de passe, la base de recherche.
  
-A la section 4, nous avons utilisé les mêmes commandes, mais avec mysql+<code> 
 +... 
 +production: 
 +  ... 
 +  ldap: 
 +    enabled: true 
 +    servers: 
 +      main: 
 +        label: 'LDAP'
  
-La suite des commandes avec mysql est ici https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md+        host'ldap.federez.net' 
 +        port: 389 
 +        uid: 'uid' 
 +        method: 'tls' 
 +        bind_dn: 'cn=gitlab,ou=service-users,dc=federez,dc=net' 
 +        password: 'secret'
  
-A la section 6, il faut télécharger l'archive gitlab dans /home/gitpuis suivre les différentes étapessans problèmes.+        active_directory: false 
 +        block_auto_created_users: false 
 +        base: 'ou=users,dc=federez,dc=net'  
 +...  
 +</code>
  
-Cependant, au moment d'installer gems, il est apparu que le paquet RedCloth -v '4.2.9' était manquant. +Et on lance  
-Il nous a fallu réinstaller ruby-dev et ruby pour solutionner le problème.+<code> 
 +gitlab-ctl reconfigure 
 +</code>
  
 +==== Https ====
  
-=== Apache ===+On utilise l'intégration native Let's Encrypt de GitLab : https://docs.gitlab.com/omnibus/settings/ssl.html#lets-encrypt-integration
  
-A la section 7, on a utilisé apache. Ca a consisté en une installation d'apache, puis l'écriture d'un sites pour gitlab, qui était écrit pour apache 2.2, qu'on a adapté en 2.4. 
  
-Voici les parties importantes du sites :+En gros, dans /etc/gitlab/gitlab.rb : 
 +<code> 
 +# note the 'https' below 
 +external_url "https://gitlab.federez.net" 
 +letsencrypt['enable'] = true 
 +</code>
  
 +Enfin on reconfigure et c'est bon !
 +
 +==== Container registry ====
 +
 +On utilise le container registry docker intégré à GitLab.
 +
 +L'activer [[https://docs.gitlab.com/ee/administration/packages/container_registry.html#configure-container-registry-under-its-own-domain|est très simple]] :
 +
 +Dans /etc/gitlab/gitlab.rb, avec l'intégration Let's Encrypt déjà activée :
 <code> <code>
-Définir ici 2 virtualhosts "normauxsur port 80 et 443 +registry_external_url 'https://docker.federez.net' 
-Ensuite +</code> 
 + 
 +On reconfigure, et c'est bon ! 
 +==== Mettre à jour ==== 
 + 
 +Rien de plus simple : sudo apt-get upgrade ... 
 + 
 +===== Bot irc ====== 
 + 
 +Kgb-bot et kgb client sont en place. Leur configuration, simple à comprendre, se trouve dans /etc/kgb-bot et /etc/kgb-client. 
 + 
 +Pour /etc/kgb/kgb-bot.conf 
 +<code> 
 +# vim: filetype=yaml 
 +--- 
 +soap: 
 +  #server_addr: 0.0.0.0 
 +  server_addr: 127.0.0.1 
 +  server_port: 5391 
 +  service_name: KGB 
 +queue_limit: 150 
 +log_file: "/var/log/kgb-bot.log" 
 +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: '#saclay' 
 +    network: rezosup-saclay 
 +    repos: 
 +      - saclay 
 +  - name: '#ares' 
 +    network: rezosup-saclay 
 +    repos: 
 +      - saclay 
 +  - name: '#federez-admin' 
 +    network: rezosup-federez 
 +    repos: 
 +      - admin 
 +pid_dir: /var/run/kgb-bot 
 +min_protocol_ver:
 +</code> 
 + 
 +Pour faire appel à kgb, il faut modifier le post-receive dans un projet gitlab (dossier repositories). 
 + 
 +Les scripts sont dans /var/opt/gitlab-scripts-custom et linkés par liens symboliques. 
 + 
 +===== Ancien setup avec les sources (obsolète !) ===== 
 + 
 + 
 +==== Méthode ==== 
 + 
 +Il y a deux méthodes principales d'installation de GitLab par les sources et par Omnibus.  Cette dernière méthode imposant le serveur web et le serveur de base de données à utiliser, c'est l'installation par sources qui a été retenue. 
 + 
 +Le guide suivi est https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md.  Les différences sont dans les sections suivantes. 
 + 
 +==== 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.  Les instructions sont dans le guide suivant : https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md. 
 + 
 +==== Serveur web ==== 
 + 
 +On utilise Apache au lieu de Nginx. 
 + 
 +<file apache /etc/apache2/sites-available/gitlab>
 <VirtualHost *:443> <VirtualHost *:443>
   ServerName gitlab.federez.net   ServerName gitlab.federez.net
Ligne 89: Ligne 220:
   ErrorDocument 503 /deploy.html   ErrorDocument 503 /deploy.html
 </VirtualHost> </VirtualHost>
-</code>+</file>
  
-==== LDAP ====+===== LDAP =====
  
-Pour terminer, on interface l'identification avec le ldap federezC'est relativement simple. Dans la configuration gitlab qui se situe dans /home/git/gitlab/config/gitlab.yml, il faut modifier la partie 2, auth, passer ldap enabled à true, puis :+Les utilisateurs sont authentifiés avec le serveur LDAP de FedeRez On configure donc GitLab pour s'en servir :
  
-<code+<file yaml /home/git/gitlab/config/gitlab.yml
-label: 'LDAP'+... 
 +production: 
 +  ... 
 +  ldap: 
 +    enabled: true 
 +    servers: 
 +      main: 
 +        label: 'LDAP'
  
         host: 'ldap.federez.net'         host: 'ldap.federez.net'
         port: 389         port: 389
         uid: 'uid'         uid: 'uid'
-        method: 'tls' # "tls" or "ssl" or "plain"+        method: 'tls'
         bind_dn: 'cn=gitlab,ou=service-users,dc=federez,dc=net'         bind_dn: 'cn=gitlab,ou=service-users,dc=federez,dc=net'
-        password: vous vous attendez pas à le trouver non? +        password: 'secret' 
-        +
         active_directory: false         active_directory: false
         block_auto_created_users: false         block_auto_created_users: false
-        base: 'ou=users,dc=federez,dc=net'   +        base: 'ou=users,dc=federez,dc=net'  
-</code>+...  
 +</file> 
 + 
 +===== Mise à jour ===== 
 + 
 +Pour mettre à jour GitLab, lire le [[https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG|changelog]], mettre à jour les dépôts dans ''/home/git'' et relancer les services.  Le mieux est de suivre ce tuto : http://doc.gitlab.com/ce/update/patch_versions.html
  
-Et c'est tout. Ici, la requête se fait via un user, de type service-users, nommé gitlab, via lequel se fait la consultation read-only de la base. (sur hexagon)+Suivi de la taille du dossier ''/home/git'' :
  
-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.txt · Dernière modification : 2020/07/27 19:42 de toadjaune

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki