= 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 : Verifier 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/}}} É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: 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, en redémarre 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 }}} == 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}}} ---- CatégoriePagePublique