linux_gitlab

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux_gitlab [2020/02/21 10:47] – bin nekanlinux_gitlab [2021/03/05 16:32] (Version actuelle) nekan
Ligne 1: Ligne 1:
-~~CLOSETOC~~ 
 ====== GitLab - Installation d'une plateforme DevOps ====== ====== GitLab - Installation d'une plateforme DevOps ======
 +<label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas 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... ''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...
Ligne 6: Ligne 6:
   * Référence : [[https://about.gitlab.com/|GitLab]]   * Référence : [[https://about.gitlab.com/|GitLab]]
  
-<WRAP center round info 60%> +<callout type="primary" icon="true" title="Environnement">Cette procédure a été réalisée et testée sur un VM Debian 10.</callout>
-Cette procédure a été réalisée et testée sur un VM Debian 10. +
-</WRAP>+
  
-<WRAP center round alert 60%> +<callout type="danger" icon="true" title="Droits">Cette procédure nécessite des droits ''root''. Faîtes donc attention à ce que vous faîtes.</callout>
-Cette procédure nécessite des droits ''root''. Faîtes donc attention à ce que vous faîtes. +
-</WRAP>+
  
 ===== Prérequis ===== ===== Prérequis =====
  
-<WRAP center round important 60%> +<callout type="warning" icon="true" title="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é.</callout>
-''GitLab'' peut nécessiter pas mal de ressources CPU, RAM et Disque. Veillez à dimensionner correctement le serveur. +
-</WRAP>+
  
 L'installation de ''GitLab'' nécessite quelques prérequis au niveau des paquets : L'installation de ''GitLab'' nécessite quelques prérequis au niveau des paquets :
Ligne 28: Ligne 22:
 ''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. ''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 sur un serveur dédié ===== +===== Installation =====
- +
-<WRAP center round important 60%> +
-Cette section est réservée à une installation sur un serveur dédié à ''GitLab'', en d'autres termes, ''GitLab'' sera le seul site web hébergé sur ce serveur. Si ce n'est pas votre cas, passez au chapitre suivant. +
-</WRAP>+
  
   * On installe le dépôt de paquets de ''GitLab'' :   * On installe le dépôt de paquets de ''GitLab'' :
Ligne 39: Ligne 29:
 <sxh bash>EXTERNAL_URL="http://gitlab.shyrkasys.local"</sxh> <sxh bash>EXTERNAL_URL="http://gitlab.shyrkasys.local"</sxh>
  
-<WRAP center round tip 60%>+<callout type="primary" icon="true" title="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.   * 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.   * L'adresse peut être en ''HTTPS'' dans ce cas, l'installateur va automatiquement faire une demande de certificat auprès de Let's Encrypt.
-</WRAP>+</callout> 
  
   * On installe le paquet :   * On installe le paquet :
Ligne 81: Ligne 72:
   * ''GitLab'' est alors accessible depuis l'URL choisi. Ici : http://gitlab.shyrkasys.local   * ''GitLab'' est alors accessible depuis l'URL choisi. Ici : http://gitlab.shyrkasys.local
  
-===== Installation sur un serveur partagé =====+==== Erreur de 'external_url' ====
  
-<WRAP center round important 60%+  * Si l'installation ne parvient pas à trouver l'URL externe, il vous suffit de modifier le fichier ''/etc/gitlab/gitlab.rb''
-Si ''GitLab'' doit cohabiter avec d'autres sites Web, cette procédure est pour vousOn part du fait que ''Apache2'' est déjà installé et fonctionnel. +<sxh bash>nano /etc/gitlab/gitlab.rb</sxh
-</WRAP>+  * Modifiez la valeur de ''external_url'' par l'URL choisi. 
 +  * Relancer la configuration de ''GitLab'' : 
 +<sxh bash>gitlab-ctl reconfigure</sxh>
  
-  * On installe le dépôt de paquets de ''GitLab''+===== Paramétrage de l'administrateur =====
-<sxh bash>curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash</sxh> +
-  * On indique l'URL choisi (celui qui a été déclaré) : +
-<sxh bash>EXTERNAL_URL="http://gitlab.shyrkasys.local"</sxh>+
  
-<WRAP center round tip 60%+  * Lors de la première connexion, ''GitLab'' vous demande de configurer le mot de passe de l'administrateur ''root''
-  * J'ai utilisé ici une adresse localdéfinie sur mon DNS local. On peut très bien indiquer une adresse publique pour que le ''GitLab'' soit accessible de l'extérieur+<image shape="thumbnail">{{ :linux:gitlab:gitlab_001.png |}}</image
-  * L'adresse peut être en ''HTTPS'' dans ce casl'installateur va automatiquement faire une demande de certificat auprès de Let's Encrypt. +  * Une fois renseignéon peut alors se connecter sur le compte ''root'' 
-</WRAP>+<image shape="thumbnail">{{ :linux:gitlab:gitlab_002.png |}}</image> 
 +  * Vous avez désormais accès à la page d’accueil de l'administrateur : 
 +<image shape="thumbnail">{{ :linux:gitlab:gitlab_003.png |}}</image> 
 +  * De là, vous pouvez : 
 +    * Créer des utilisateurs. 
 +    * Créer des projets. 
 +    * Configurer les paramètres spécifiques du ''GitLab'', comme les notifications, les clés de sécurrité...
  
-  * On installe le paquet +===== Paramétrage SMTP ===== 
-<sxh bash>apt-get install -y gitlab-ce</sxh>+ 
 +  * ''GitLab'' a besoin d'envoyer des mails pour la création des comptes, les notifications, etc... Pour paramétrer l'envoi de mail, on va éditer le fichier ''/etc/gitlab/gitlab.rb''
 +<sxh bash>nano /etc/gitlab/gitlab.rb</sxh> 
 +  * On recherche avec ''CTRL+W'', la section ''GitLab email server settings'' 
 +  * On décommente la ligne ''gitlab_rails['smtp_enable']''
 +  * On décommente la ligne ''gitlab_rails['smtp_address']'' et on modifie sa valeur par l'adresse du serveur SMTP. 
 +  * On décommente la ligne ''gitlab_rails['smtp_port']'' et on modifie sa valeur par le port utilisé par le serveur SMTP. 
 +  * On décommente la ligne ''gitlab_rails['smtp_user_name']'' et on modifie sa valeur par l'utilisateur utilisé pour l'authentification. 
 +  * On décommente la ligne ''gitlab_rails['smtp_password']'' et on modifie sa valeur par le mot de passe de l'utilisateur. 
 +  * On décommente la ligne ''gitlab_rails['smtp_domain']'' et on modifie sa valeur par le nom de domaine pour l'utilisateur. 
 +  * On décommente la ligne ''gitlab_rails['smtp_authentication']'' 
 +  * On décommente la ligne ''gitlab_rails['smtp_enable_starttls_auto']'' 
 +  * On décommente la ligne ''gitlab_rails['smtp_tls']'' 
 +  * Les modifications devraient ressembler à ça 
 +<sxh bash>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 
 +</sxh> 
 +  * Par défaut, l'adresse d'expéditeur sera du type ''gitlab@hostname.domain.local'', ce qui peut être rejeté par les serveurs SMTP externes. Pour remédier, on va aussi modifier les lignes suivantes : 
 +    * On recherche et on décommente ''gitlab_rails['gitlab_email_from']''
 +    * On modifie sa valeur par l'adresse mail qu'on a donné à ''GitLab''
 +    * On recherche et on décommente ''gitlab_rails['gitlab_email_reply_to']''
 +    * On modifie sa valeur par l'adresse mail qu'on a donné à ''GitLab''
 +  * On enregistre avec ''CTRL+O'' et on quitte avec ''CTRL+X'' 
 +  * On relance la configuration de ''GitLab''
 +<sxh bash>gitlab-ctl reconfigure</sxh
 + 
 +<callout type="warning" icon="true" title="Messagerie">Certains paramètres dépendent entièrement de votre serveur SMTP. Vous trouverez d'autres explications et exemples sur [[https://docs.gitlab.com/omnibus/settings/smtp.html|GitLab]]</callout>
  
 +  * On peut tester la configuration en lançant la console ''gitlab-rails'' :
 +<sxh bash>gitlab-rails console</sxh>
 +  * Après quelques secondes de chargement, un nouveau prompteur apparaît. Exemple :
 +<sxh bash>[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>
 +</sxh>
 +  * On peut alors lancer la commande de vérification (en remplaçant ''user@mail.tld'' par votre adresse mail) :
 +<sxh bash>Notify.test_email('user@mail.tld', 'Test', 'Test').deliver_now</sxh>
 +  * La console devrait alors vous renvoyer le résultat en sachant qu'elle affichera toute erreur qui pourrait subvenir.
  
 +<callout type="success" icon="true" title="Installation">Félicitations, vous avez désormais un serveur ''GitLab'' opérationnel.</callout>
  
-{{ :underconstruction-copy-300x150.jpg |}} 
- --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/02/21 09:21// 
 ~~DISCUSSION~~ ~~DISCUSSION~~
  • linux_gitlab.1582278429.txt.gz
  • Dernière modification : 2020/02/21 08:47
  • (modification externe)