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

  • RaDius
  • GitLab
Version 13 à la date du 2017-07-07 21:39:11
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.

Sommaire

  1. GitLab
    1. Installation
    2. Le Gitlab du Crans
      1. Lien
      2. Tuto
        1. 1ère utilisation
        2. Cloner un dépôt
      3. CAS
    3. Known Bug

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/ .

Le Gitlab du Crans

Les adhérents du Crans ont la possibilité d'y héberger jusqu'à 75 projets qui peuvent être publics, privés, ou ouverts seulement aux utilisateurs connectés (internes).

Il est possible de demander une augmentation de cette limite en envoyant un mail à nounou@crans.org

Lien

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

Tuto

1ère utilisation

  • Vous pouvez vous connecter avec votre login/mot de passe Cr@ns.
  • Si vous n'avez pas de clé SSH, générez-en une. Cf WikiInformatique/ConnexionSsh#Les_clefs_SSH

  • Allez dans Profile settings puis SSH Keys

  • Add SSH Key

  • Donnez-lui un nom sympathique dans Title (comme, par exemple, le nom de la machine sur laquelle elle est) et collez le contenu du fichier ~/.ssh/id_rsa.pub dans Key.

Cloner un dépôt

Quand vous êtes sur la page gitlab d'un dépôt, pour le cloner, il faut récupérer l'uri. Vous pouvez choisir SSH ou HTTPS.

En SSH, l'url ressemble à git@gitlab.crans.org:namespace/projet.git, en HTTPS https://gitlab.crans.org/namespace/projet.git

CAS

Pour permettre l'authentification via le CAS du crans : vérifier que gem 'omniauth-cas3' est bien dans /gitlab/gitlab/Gemfile, sinon l'y ajouter et lancer :

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

dans /gitlab/gitlab/

Éditer 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: false
    # Locks down those users until they have been cleared by the admin (default: true).
    block_auto_created_users: false
    # Locks down those users until they have been cleared by the admin (default: true).
    block_auto_created_users: true

    # Look up new users in LDAP servers. If a match is found (same uid), automatically
    # link the omniauth identity with the LDAP account. (default: false)
    auto_link_ldap_user: true

    ## 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-configura$
    # 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: 'cas3',
          label: 'cas',
          args: {
              url: 'https://cas.crans.org',
              login_url: '/login',
              service_validate_url: '/p3/serviceValidate',
              logout_url: '/logout'} }

Enfin, redémarrer gitlab :

samir@geet $ sudo service gitlab restart

Known Bug

Lors du push d'une nouvelle branche, celle-ci n'est pas correctement chargé par gitlab et n'apparait pas dans le menu déroulant, mais uniquement dans la page branches.

L'issue est registered ici : https://github.com/gitlabhq/gitlabhq/issues/4864

Pour fixe sur geet :

  cd /gitlab/gitlab && sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production 


CatégoriePagePublique

  • Propulsé par MoinMoin
  • Mentions légales