Outils pour utilisateurs

Outils du site


admin:services:gitlab

Ceci est une ancienne révision du document !


Gitlab de federez

Utilité

Le but est de remplacer la forge, qui n'a pas eu le succès attendu.

Le but est toujours le même, et double :

- Permettre le partage de projets au sein de federez développés en interne, mais transposables ailleurs,

- Permettre et promouvoir la création de projets communs entre plusieurs assos, via un gitlab commun.

On a donc choisi un outil largement utilisé dans les associations de federez, contrairement à la forge.

Installation

Il se situe sur Baldrick, VM jessie hébergée au Cr@ns.

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

A la section 2 ruby, baldrick étant sous jessie, nous avons juste utilisé la version d'apt, soit ruby 2.1.5

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

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

Apache

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 :

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.

admin/services/gitlab.1431731906.txt.gz · Dernière modification : 2015/05/16 01:18 de gabriel.detraz

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki