GitLab

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Forge logicielle / plateforme Git
Contrôle gitlab-ctl · gitlab-rake
Config /etc/gitlab/gitlab.rb
Alternatives GitHub, Bitbucket, Gitea
Voir aussi Git, VCS

GitLab est une forge logicielle qui fournit une interface web et des services autour de Git : hébergement de dépôts, gestion des droits, revue de code (merge requests), CI/CD, tickets. La version « Omnibus » regroupe tous les composants dans un seul paquet auto-configuré.

Installation

Le paquet Omnibus s'installe depuis le dépôt officiel (about.gitlab.com/install). Pour changer le port d'écoute, modifier l'URL externe :

vi /etc/gitlab/gitlab.rb
# external_url 'http://gitlab.example.com:4321'

gitlab-ctl reconfigure     # applique la configuration
gitlab-ctl stop
gitlab-ctl start

Initialiser un projet

Côté GitLab (interface web) :

  • créer le projet ;
  • ajouter un fichier initial README.md ;
  • autoriser le développeur à pousser : Project → Settings → Repository → Protected branches → Developers can push ;
  • déposer sa clé SSH publique dans son profil.

Côté poste client :

git config --global user.name "Prénom Nom"
git config --global user.email "prenom.nom@example.com"

cd mon-projet
git init
git remote add origin git@gitlab.example.com:mon-equipe/mon-projet.git
git add .
git commit -m "Initial commit"
git push -u origin master

Basculer sur une branche et la définir par défaut :

git checkout -b recette
git branch
# .git/config
[branch "master"]
    remote = origin
    merge = refs/heads/master

Commandes de contrôle et diagnostic

gitlab-ctl                          # start/stop/restart/status/tail des services
gitlab-ctl tail                     # suit les logs en direct
gitlab-rake gitlab:env:info         # infos d'environnement
gitlab-rake gitlab:check SANITIZE=true   # vérification de santé de l'instance

Voir aussi

  • Git — le VCS sous-jacent
  • GitHub — plateforme équivalente
  • VCS — panorama des systèmes de gestion de versions