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 11:10] – Réorganisation de la partie installation bertrand.bonnefoy-claudetadmin:services:gitlab [2020/07/22 20:19] – Ajout du container registry toadjaune
Ligne 1: Ligne 1:
-====== GitLab de FedeRez ======+====== GitLab ======
  
-GitLab est installé sur [[admin:serveurs:baldrick|Baldrick]].  Il est utilisé pour les projets de FedeRez et ceux des associations membres.+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.
  
-==== Installation ====+===== Installation =====
  
-=== Méthode ===+Il a été décidé d'utiliser l'installateur omnibus.
  
-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, ces l'installation par sources qui a été retenue.+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 ==== 
 + 
 +<code> 
 +sudo apt-get install curl openssh-server ca-certificates postfix 
 +</code> 
 + 
 +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> 
 + 
 +Enfin, 
 + 
 +<code> 
 +sudo gitlab-ctl reconfigure 
 +</code> 
 + 
 +Puis on va sur octogon.crans.org, et on setup le mdp admin gitlab, et c'est tout ! 
 + 
 +==== 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://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/mysql_to_postgresql.md 
 + 
 +==== Ajout de l'auth ldap ==== 
 + 
 +On édite les lignes qui vont bien dans le fichier /etc/gitlab/gitlab.rb 
 + 
 +http://doc.gitlab.com/ee/integration/ldap.html#enabling-ldap-sign-in-for-existing-gitlab-users 
 + 
 +Notamment le serveur ldap, le mot de passe, la base de recherche. 
 + 
 +<code> 
 +... 
 +production: 
 +  ... 
 +  ldap: 
 +    enabled: true 
 +    servers: 
 +      main: 
 +        label: 'LDAP' 
 + 
 +        host: 'ldap.federez.net' 
 +        port: 389 
 +        uid: 'uid' 
 +        method: 'tls' 
 +        bind_dn: 'cn=gitlab,ou=service-users,dc=federez,dc=net' 
 +        password: 'secret' 
 + 
 +        active_directory: false 
 +        block_auto_created_users: false 
 +        base: 'ou=users,dc=federez,dc=net'  
 +...  
 +</code> 
 + 
 +Et on lance  
 +<code> 
 +gitlab-ctl reconfigure 
 +</code> 
 + 
 +==== Https ==== 
 + 
 +On utilise l'intégration native Let's Encrypt de GitLab : https://docs.gitlab.com/omnibus/settings/ssl.html#lets-encrypt-integration 
 + 
 + 
 +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> 
 +registry_external_url 'https://docker.federez.net' 
 +</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. 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 ===+==== Ruby ====
  
 Contrairement à ce que suggère le guide, Ruby a été installé via les dépôts (version 2.1.5 dans Jessie) : 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+  apt-get install ruby ruby-dev
  
-=== Base de données ===+==== 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. 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.
  
-=== Ruby-dev === +==== Serveur web ====
- +
-Ca se gate au moment d'installer gems, il est apparu que le paquet RedCloth -v '4.2.9' était manquant. +
-Il nous a fallu réinstaller ruby-dev et ruby pour solutionner le problème. +
- +
-=== Serveur web ===+
  
 On utilise Apache au lieu de Nginx. On utilise Apache au lieu de Nginx.
Ligne 68: Ligne 222:
 </file> </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>
  
-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)+===== Mise à jour =====
  
-Installé entre le 14 et le 15 mai 2015 par toadjaune et Chirac+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
  
 +Suivi de la taille du dossier ''/home/git'' :
  
-===== Mise à jour ===== +  * 2015-06-11 : 752 Mio (7.10.4 -> 7.11.4)
-Il faut git puller l'archive, en ayant pris soin de lire les changelogs....+
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