Outils pour utilisateurs

Outils du site


admin:services:gitlab

Ceci est une ancienne révision du document !


GitLab de FedeRez

GitLab est installé sur Baldrick. Il est utilisé pour les projets de FedeRez et ceux des associations membres.

Installation

Introduction

Pour l'installation, nous avons choisi de ne pas utiliser l'installateur omnibus, mais de suivre l'installation pas à pas à partir des sources git.

Cependant, nous avons utilisé la version packagée Jessie de ruby, à savoir ruby 2.1.5

Cela nous a permis d'utiliser mysql et apache, à la place de postgres et de nginx par exemple.

Nous avons donc suivi ce tuto : https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md

Détail de l'installation

Section 1, il s'agit d'installer l'ensemble des paquets nécessaires, sans problème.

A la section 2 ruby, baldrick étant sous jessie, nous avons juste utilisé la version d'apt, soit ruby 2.1.5, au lieu de recompiler comme le tuto le présente.

Section 3, pas de problèmes non plus.

A la section 4, nous avons utilisé les mêmes commandes, mais avec mysql.

La suite des commandes avec mysql est ici https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md

A la section 6, il faut télécharger l'archive gitlab dans /home/git, puis suivre les différentes étapes, sans gros problèmes pour configure et configure db.

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.

Apache

A la section 7, on a utilisé apache, au lieu de nginx. 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 :

Définir ici 2 virtualhosts "normaux" sur port 80 et 443
Ensuite : 
<VirtualHost *:443>
  ServerName gitlab.federez.net
  ServerSignature Off

  ProxyPreserveHost On

  # Ensure that encoded slashes are not decoded but left in their encoded state.
  # http://doc.gitlab.com/ce/api/projects.html#get-single-project
  AllowEncodedSlashes NoDecode

  <Location />
    Order deny,allow
    Allow from all

    ProxyPassReverse https://127.0.0.1:8080
    ProxyPassReverse gitlab.federez.net
  </Location>

  #apache equivalent of nginx try files
  # http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files
  # http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
  RewriteEngine on
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
  RequestHeader set X_FORWARDED_PROTO 'https'

  # needed for downloading attachments
  DocumentRoot /home/git/gitlab/public

  #Set up apache error documents, if back end goes down (i.e. 503 error) then a maintenance/deploy page is thrown up.
  ErrorDocument 404 /404.html
  ErrorDocument 422 /422.html
  ErrorDocument 500 /500.html
  ErrorDocument 503 /deploy.html
</VirtualHost>

LDAP

Pour terminer, on interface l'identification avec le ldap federez. C'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 :

label: 'LDAP'

        host: 'ldap.federez.net'
        port: 389
        uid: 'uid'
        method: 'tls' # "tls" or "ssl" or "plain"
        bind_dn: 'cn=gitlab,ou=service-users,dc=federez,dc=net'
        password: vous vous attendez pas à le trouver non?
        
        active_directory: false
        block_auto_created_users: false
        base: 'ou=users,dc=federez,dc=net'  

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)

Installé entre le 14 et le 15 mai 2015 par toadjaune et Chirac.

Mise à jour

Il faut git puller l'archive, en ayant pris soin de lire les changelogs….

admin/services/gitlab.1431766419.txt.gz · Dernière modification : 2015/05/16 10:53 de bertrand.bonnefoy-claudet

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki