Taille: 3744
Commentaire:
|
Taille: 2836
Commentaire: Update
|
Texte supprimé. | Texte ajouté. |
Ligne 5: | Ligne 5: |
Il est initialement basé sur gitolite, mais est devenu totalement indépendant récemment. | Il est initialement basé sur gitolite, mais est devenu totalement indépendant. |
Ligne 7: | Ligne 7: |
= Lien = | <<TableOfContents>> |
Ligne 9: | Ligne 9: |
Le dépôt Gitlab du Crans se trouve à l'adresse https://gitlab.crans.org. | == Installation == |
Ligne 11: | Ligne 11: |
= Installation = | Pour installer Gitlab, on a suivi cette page : [[https://about.gitlab.com/install/#debian]]. |
Ligne 13: | Ligne 13: |
Pour installer Gitlab, on a suivi cette page : https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md . | C'est un paquet « Omnibus » qui contient l'ensemble de l'environnement Gitlab, le tout déployé avec Chef (concurrent de Bcfg2). Il permet de grandement simplifier les mises à jours. |
Ligne 15: | Ligne 15: |
Depuis, gitlab propose un paquet tout fait pour l'installer sur debian (7.5) : https://about.gitlab.com/downloads/ . | Pour l'intégration avec le CAS du Crans, voir [[https://docs.gitlab.com/ee/integration/cas.html]]. |
Ligne 17: | Ligne 17: |
== CAS == | == Maintenance == |
Ligne 19: | Ligne 19: |
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/}}} |
Voir https://docs.gitlab.com/ce/administration/raketasks/maintenance.html |
Ligne 27: | Ligne 21: |
== Le Gitlab du Crans == | |
Ligne 28: | Ligne 23: |
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. |
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''). |
Ligne 31: | Ligne 25: |
É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 |
Il est possible de demander une augmentation de cette limite en envoyant un mail à <<MailTo(nounou AT crans DOT org)>> |
Ligne 38: | Ligne 27: |
# 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 |
=== Lien === Le GitLab du Crans se trouve à l'adresse https://gitlab.crans.org. |
Ligne 45: | Ligne 30: |
## 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' } } |
=== Tutorial === ==== 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}}} == Bogues connus == {{{#!wiki caution '''Outdated''' C'est des vieux bogues qui ont du être corrigés. |
Ligne 72: | Ligne 52: |
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. | |
Ligne 73: | Ligne 54: |
L'issue est registered ici : https://github.com/gitlabhq/gitlabhq/issues/4864 | |
Ligne 74: | Ligne 56: |
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 @@ -42,7 +42,7 @@ module Gitlab private def find_by_uid_and_provider - model.where(provider: provider, extern_uid: uid).last + model.where(extern_uid: uid).last end def uid @@ -62,7 +62,7 @@ module Gitlab end def provider - auth.provider + "ldap" end def log }}} Sinon un user par mode d'authentification est créé. |
Pour fixe sur geet : |
Ligne 99: | Ligne 58: |
Enfin, en redémarre gitlab : {{{ samir@geet $ sudo service gitlab restart }}} |
{{{ cd /gitlab/gitlab && sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production }}} Lors de la création d'un dépôt celui-ci apparaît vide ou le README ne se mets pas à jours après un changement. Pour fixe sur geet : {{{ cd /gitlab/gitlab && sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production }}} ---- CatégoriePagePublique |
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.
Sommaire
Installation
Pour installer Gitlab, on a suivi cette page : https://about.gitlab.com/install/#debian.
C'est un paquet « Omnibus » qui contient l'ensemble de l'environnement Gitlab, le tout déployé avec Chef (concurrent de Bcfg2). Il permet de grandement simplifier les mises à jours.
Pour l'intégration avec le CAS du Crans, voir https://docs.gitlab.com/ee/integration/cas.html.
Maintenance
Voir https://docs.gitlab.com/ce/administration/raketasks/maintenance.html
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 GitLab du Crans se trouve à l'adresse https://gitlab.crans.org.
Tutorial
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
Bogues connus
Outdated
C'est des vieux bogues qui ont du être corrigés.
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
Lors de la création d'un dépôt celui-ci apparaît vide ou le README ne se mets pas à jours après un changement.
Pour fixe sur geet :
cd /gitlab/gitlab && sudo -u git -H bundle exec rake cache:clear RAILS_ENV=production