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:06] 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>
  
 +Puis on install les sources gitlab : 
  
- On a donc choisi un outil largement utilisé dans les associations de federez, contrairement à la forge.+<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,
  
-==== Installation ====+<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 +Sur baldrickon 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.
  
-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 ====
  
-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 /etc/gitlab/gitlab.rb
  
-A la section 4, nous avons utilisé les mêmes commandes, mais avec mysql.+http://doc.gitlab.com/ee/integration/ldap.html#enabling-ldap-sign-in-for-existing-gitlab-users
  
-A la section 6il faut télécharger l'archive gitlabpuis suivre les différentes étapes, sans problèmes.+Notamment le serveur ldaple mot de passela base de recherche.
  
-A la section 7, on a utilisé apacheCa 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.+<code> 
 +... 
 +production: 
 +  ... 
 +  ldap: 
 +    enabled: true 
 +    servers: 
 +      main: 
 +        label: 'LDAP'
  
-Voici les parties importantes du sites :+        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> <code>
-<VirtualHost *:80> +gitlab-ctl reconfigure 
-  ServerName gitlab.federez.net +</code>
-  ServerAlias baldrick.federez.net baldrick.crans.org gitlab-federez.crans.org +
-  ServerSignature Off+
  
-  RewriteEngine on +==== Https ====
-  RewriteCond %{HTTPS} !=on +
-  RewriteRule .* https://gitlab.federez.net%{REQUEST_URI} [NE,R=permanent,L] +
-</VirtualHost>+
  
-<VirtualHost *:443> +On utilise l'intégration native Let's Encrypt de GitLab https://docs.gitlab.com/omnibus/settings/ssl.html#lets-encrypt-integration
-  ServerName baldrick.federez.net +
-  ServerAlias baldrick.crans.org gitlab-federez.crans.org +
-  ServerSignature Off+
  
-  RewriteEngine on 
-  RewriteRule .* https://gitlab.federez.net%{REQUEST_URI} [NE,R=permanent,L] 
  
-  SSLEngine on +En gros, dans /etc/gitlab/gitlab.rb : 
-  SSLCipherSuite SSLv3:TLSv1:+HIGH:!SSLv2:!MD5:!MEDIUM:!LOW:!EXP:!ADH:!eNULL:!aNULL +<code> 
-  SSLCertificateFile    /etc/ssl/certs/gitlab.crt +# note the 'https' below 
-  SSLCertificateKeyFile /etc/ssl/private/gitlab.key +external_url "https://gitlab.federez.net" 
-</VirtualHost>+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> 
 +# vimfiletype=yaml 
 +--- 
 +soap: 
 +  #server_addr0.0.0.0 
 +  server_addr127.0.0.1 
 +  server_port5391 
 +  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 96: Ligne 219:
   ErrorDocument 500 /500.html   ErrorDocument 500 /500.html
   ErrorDocument 503 /deploy.html   ErrorDocument 503 /deploy.html
-</code>+</VirtualHost> 
 +</file> 
 + 
 +===== LDAP ===== 
 + 
 +Les utilisateurs sont authentifiés avec le serveur LDAP de FedeRez.  On configure donc GitLab pour s'en servir : 
 + 
 +<file yaml /home/git/gitlab/config/gitlab.yml> 
 +... 
 +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'  
 +...  
 +</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
  
 +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