WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:gitlab

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
wiki:services:gitlab [2016/05/02 10:29]
theagentsmith Maj du gitlab vers 8.6.7
wiki:services:gitlab [2016/05/02 10:34] (Version actuelle)
theagentsmith
Ligne 1: Ligne 1:
 +====== Gitlab ======
 +
 +Gitlab est une interface pour git, il nous permet de visualiser facilement nos dépôts git. Plus que ça il permet d'​organiser des projets en les regroupants par groupes, en nous permettant de rapporter toute erreur (Issues) ainsi que de soumettre des patchs correctifs de amnière automatisé (Merge Request). On peut également mettre en place un wiki propre au projet.
 +
 +Le serveur possède deux IP:
 +
 +    192.168.102.32
 +    157.159.40.16
 +
 +Il est aussi dans le DNS : gitlab.minet.net
 +
 +Ces deux IPs sont accessibles sur le port 8088 pour le web et en 22 & 2222 pour ssh.
 +
 +Rappel: Le port 22 est bloqué par le pare-feu de l'INT si vous êtes à l'​exterieur du campus.
 +
 +====Maintenance====
 +
 +Pour voir l'​état des services utilisez :
 +
 +    $ gitlab-ctl status
 +
 +Si il y a un problème :
 +
 +    $ gitlab-ctl restart
 +
 +====Installation====
 +
 +On utilise l'​installateur omnibus : 
 +
 +<WRAP center round info 90%>One reason the Omnibus package is more reliable is its use of Runit to restart any of the GitLab processes in case one crashes. On heavily used GitLab instances the memory usage of the Sidekiq background worker will grow over time. Omnibus packages solve this by letting the Sidekiq terminate gracefully if it uses too much memory. After this termination Runit will detect Sidekiq is not running and will start it. Since installations from source don't have Runit, Sidekiq can't be terminated and its memory usage will grow over time.</​WRAP>​
 +
 +Toutes les infos sont sur : http://​doc.gitlab.com/​omnibus/​
 +
 +====Configuration====
 +
 +Tout se passe dans /​etc/​gitlab/​gitlab.rb,​ on fait les modifications puis on fait :
 +
 +    $ gitlab-ctl reconfigure
 +
 +Ce qui va automatiquement generer les fichiers de configuration des services de Gitlab.
 +<WRAP center round tip 90%>​Fichiers de configuration générés dans : /​var/​opt/​gitlab/​. Réécrits à chaque "​reconfigure"​ mais utile pour débugger.
 +Les repos s'y trouvent aussi sous git-data.
 +</​WRAP>​
 +
 +Les lignes qui nous concernent sont :
 +
 +Configuration de l'URL et du port :
 +<​code>​external_url '​http://​gitlab.minet.net:​8088'</​code>​
 +
 +Configuration du LDAP (remplacer l'​utilisateur et le MdP) :
 +<​code>​gitlab_rails['​ldap_enabled'​] = true
 + ​gitlab_rails['​ldap_servers'​] = YAML.load <<​-'​EOS'​
 +   ​Minet:​ # '​main'​ is the GitLab '​provider ID' of this LDAP server
 +     ​label:​ '​Ldap'​
 +     host: '​ldap-master.minet.net'​
 +     port: 389
 +     uid: '​uid'​
 +     ​method:​ '​plain'​ # "​tls"​ or "​ssl"​ or "​plain"​
 +     ​bind_dn:​ '​cn=[identifiant_inspecteur],​dc=minet,​dc=net'​
 +     ​password:​ '​[Mdp_inspecteur]'​
 +     ​active_directory:​ false
 +     ​allow_username_or_email_login:​ false
 +     ​block_auto_created_users:​ false
 +     base: '​dc=minet,​dc=net'​
 +     ​user_filter:​ ''​
 +     ​attributes:​
 +       ​username:​ ['​uid',​ '​userid',​ '​sAMAccountName'​]
 +       ​email: ​   ['​mail',​ '​email',​ '​userPrincipalName'​]
 +       ​name: ​      '​cn'​
 +       ​first_name:​ '​givenName'​
 +       ​last_name: ​ '​sn'​
 +EOS</​code>​
 +
 +Les backups :
 +<​code>​ gitlab_rails['​manage_backup_path'​] = true
 + ​gitlab_rails['​backup_path'​] = "/​var/​opt/​gitlab/​backups"​
 + ​gitlab_rails['​backup_archive_permissions'​] = 0644</​code>​
 +
 +Le nombre de processus sidekick (augmenter si le gitlab met du temps à répondre) :
 +<​code>​ sidekiq['​log_directory'​] = "/​var/​log/​gitlab/​sidekiq"​
 + ​sidekiq['​shutdown_timeout'​] = 4
 + ​sidekiq['​concurrency'​] = 15</​code>​
 +
 +====Mise à jour====
 +
 +Contrairement à d'​autre services, la mise à jour est plutot simple et presque sans risque :
 +<​code>​
 +  $ sudo apt-get update ​
 +  $ sudo apt-get install gitlab-ce
 +</​code>​
 +Un backup de la base de donnée est fait automatiquement.
 +
 +====Informations complémentaires====
 +
 +- Les repos importées depuis l'​ancien Gitlab sont stockés sur un compte Administrator (compte Standard hors LDAP).
 +
 +- Par défaut les branches master sont "​protected"​ ce qui peux faire planter les scripts de push.
 +
 +- L'​utilisateur automatique pour les scripts est git.
  
wiki/services/gitlab.txt · Dernière modification: 2016/05/02 10:34 par theagentsmith