Ceci est une ancienne révision du document !
Table des matières
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….