Table des matières

GitLab - Installation d'une plateforme DevOps

CréationNicolas THOREZ 2020/02/21 09:21

GitLab est une plateforme de gestion DevOps. Elle permet de coopérer sur le développement de projet, de suivre les modifications, de les acter ou les refuser, etc…

Environnement

Cette procédure a été réalisée et testée sur un VM Debian 10.

Droits

Cette procédure nécessite des droits root. Faîtes donc attention à ce que vous faîtes.

Prérequis

Ressources

GitLab peut nécessiter pas mal de ressources CPU, RAM et Disque. Veillez à dimensionner correctement le serveur. De plus, il installe son propre serveur nginx, il est donc recommandé de l'installer sur un serveur sans service Web voire sur un serveur dédié.

L'installation de GitLab nécessite quelques prérequis au niveau des paquets :

apt-get update

apt-get install -y curl openssh-server ca-certificates

GitLab va aussi nécessiter une URL. Il va donc falloir la déclarer dans le DNS et s'assurer que la résolution fonctionne avant de lancer l'installation.

Installation

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash

EXTERNAL_URL="http://gitlab.shyrkasys.local"

Accessibilité

  • J'ai utilisé ici une adresse local, définie sur mon DNS local. On peut très bien indiquer une adresse publique pour que le GitLab soit accessible de l'extérieur.
  • L'adresse peut être en HTTPS dans ce cas, l'installateur va automatiquement faire une demande de certificat auprès de Let's Encrypt.

apt-get install -y gitlab-ee

Chef Client finished, 547/1489 resources updated in 04 minutes 00 seconds
gitlab Reconfigured!

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab should be available at http://gitlab.shyrkasys.local

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Erreur de 'external_url'

nano /etc/gitlab/gitlab.rb

gitlab-ctl reconfigure

Paramétrage de l'administrateur

Paramétrage SMTP

nano /etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.shyrkasys.local"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "nekan"
gitlab_rails['smtp_password'] = "P@ssw0rd"
gitlab_rails['smtp_domain'] = "shyrkasys.local"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

gitlab-ctl reconfigure

Messagerie

Certains paramètres dépendent entièrement de votre serveur SMTP. Vous trouverez d'autres explications et exemples sur GitLab

gitlab-rails console

[12:26:16] root@gitlab:/var/log# gitlab-rails console      
--------------------------------------------------------------------------------
 GitLab:       12.7.6-ee (32aad7c42f1)
 GitLab Shell: 11.0.0
 PostgreSQL:   10.9
--------------------------------------------------------------------------------
Loading production environment (Rails 5.2.3)
irb(main):001:0>

Notify.test_email('user@mail.tld', 'Test', 'Test').deliver_now

Installation

Félicitations, vous avez désormais un serveur GitLab opérationnel.