Création — 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…
root. Faîtes donc attention à ce que vous faîtes.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.
GitLab :
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | bash
EXTERNAL_URL="http://gitlab.shyrkasys.local"
GitLab soit accessible de l'extérieur.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
GitLab :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
GitLab est alors accessible depuis l'URL choisi. Ici : http://gitlab.shyrkasys.local/etc/gitlab/gitlab.rb :
nano /etc/gitlab/gitlab.rb
external_url par l'URL choisi.GitLab :
gitlab-ctl reconfigure
GitLab vous demande de configurer le mot de passe de l'administrateur root :
root :

GitLab, comme les notifications, les clés de sécurrité…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 :
nano /etc/gitlab/gitlab.rb
CTRL+W, la section GitLab email server settingsgitlab_rails['smtp_enable'].gitlab_rails['smtp_address'] et on modifie sa valeur par l'adresse du serveur SMTP.gitlab_rails['smtp_port'] et on modifie sa valeur par le port utilisé par le serveur SMTP.gitlab_rails['smtp_user_name'] et on modifie sa valeur par l'utilisateur utilisé pour l'authentification.gitlab_rails['smtp_password'] et on modifie sa valeur par le mot de passe de l'utilisateur.gitlab_rails['smtp_domain'] et on modifie sa valeur par le nom de domaine pour l'utilisateur.gitlab_rails['smtp_authentication']gitlab_rails['smtp_enable_starttls_auto']gitlab_rails['smtp_tls']
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@hostname.domain.local, ce qui peut être rejeté par les serveurs SMTP externes. Pour y remédier, on va aussi modifier les lignes suivantes :gitlab_rails['gitlab_email_from'].GitLab.gitlab_rails['gitlab_email_reply_to'].GitLab.CTRL+O et on quitte avec CTRL+XGitLab :
gitlab-ctl reconfigure
gitlab-rails :
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>
user@mail.tld par votre adresse mail) :
Notify.test_email('user@mail.tld', 'Test', 'Test').deliver_now
GitLab opérationnel.