Crans
  • Commentaires
  • Page immuable
  • Menu
    • Affichage
    • Carte locale du site
    • Pièces jointes
    • Informations
    • Code source
    • Utilisateur
    • Ajouter un lien
    • Se désabonner
  • Connexion
    • Connexion
    • Paramètres

Navigation

  • Modifications récentes
  • Recherche avancée
  • Aide

Trail

  • GitLab
Version 4 à la date du 2015-02-13 00:18:28
CransWiki:
  • CransTechnique
  • ServicesMineurs
  • GitLab

GitLab

GitLab est une interface Web pour les dépôts Git proposant de multiples fonctionnalités pratiques pour visualiser un dépôt, et donner des droits de commit/push à des utilisateurs n'existant pas sur le serveur.

Il est initialement basé sur gitolite, mais est devenu totalement indépendant récemment.

Lien

Le dépôt Gitlab du Crans se trouve à l'adresse https://gitlab.crans.org.

Installation

Pour installer Gitlab, on a suivi cette page : https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md .

Depuis, gitlab propose un paquet tout fait pour l'installer sur debian (7.5) : https://about.gitlab.com/downloads/ .

CAS

Pour permettre l'authentification via le CAS du crans : Ajouter gem 'omniauth-cas' dans /gitlab/gitlab/Gemfile lancer :

git@geet:~/gitlab$ bundle install --without development test mysql --no-deployment --path vendor/bundle

dans /gitlab/gitlab/

Pour le crans, remplacer vendor/bundle/ruby/1.9.1/gems/vendor/bundle/ruby/1.9.1/gems/omniauth-cas* par https://gitlab.crans.org/nounous/omniauth-cas qui a été tweaké pour le crans.

Éditez dans /gitlab/gitlab/config/gitlab.yml la section sur omniauth comme ceci :

  ## OmniAuth settings
  omniauth:
    # Allow login via Twitter, Google, etc. using OmniAuth providers
    enabled: true

    # CAUTION!
    # This allows users to login without having a user account first (default: false).
    # User accounts will be created automatically when authentication was successful.
    allow_single_sign_on: true
    # Locks down those users until they have been cleared by the admin (default: true).
    block_auto_created_users: false

    ## Auth providers
    # Uncomment the following lines and fill in the data of the auth provider you want to use
    # If your favorite auth provider is not listed you can use others:
    # see https://github.com/gitlabhq/gitlab-public-wiki/wiki/Working-custom-omniauth-provider-configur$
    # The 'app_id' and 'app_secret' parameters are always passed as the first two
    # arguments, followed by optional 'args' which can be either a hash or an array.
    providers:
      # - { name: 'google_oauth2', app_id: 'YOUR APP ID',
      #     app_secret: 'YOUR APP SECRET',
      #     args: { access_type: 'offline', approval_prompt: '' } }
      # - { name: 'twitter', app_id: 'YOUR APP ID',
      #     app_secret: 'YOUR APP SECRET'}
      # - { name: 'github', app_id: '',
      #     app_secret: '',
      #     args: { scope: 'user:email' } }
        - { name: 'cas',   "args":{
    'host': 'cas.crans.org',
    'port': 443,
    'ssl': true,
    'service_validate_url': '/cas/serviceValidate',
    'login_url': '/cas/login',
    'logout_url': '/cas/logout',
    'disable_ssl_verification': false,
    'email_key': 'login_mail'
  } }

Enfin, il y a un petit hack a faire dans le code de gitlab pour que l'auth CAS fonctionne de façon transparente avec l'auth ldap : il faut éditer le fichier /gitlab/gitlab/ib/gitlab/oauth/user.rb

--- a/lib/gitlab/oauth/user.rb
+++ b/lib/gitlab/oauth/user.rb
@@ -62,7 +62,8 @@ module Gitlab
         end
 
         def provider
-          auth.provider
+          #auth.provider
+          "ldap"
         end
 
         def log

Sinon un user par mode d'authentification est créé.

Enfin, en redémarre gitlab :

samir@geet $ sudo service gitlab restart
  • Propulsé par MoinMoin
  • Mentions légales