GitLab est un gestionnaire de référentiel Git basé sur le Web et open source, écrit en Ruby. Il comprend un wiki, la gestion des problèmes, la révision du code, la surveillance, ainsi que l'intégration et le déploiement continus.
GitLab permet aux développeurs de créer, déployer et exécuter leurs applications.
Il existe trois éditions de GitLab disponibles pour le public, Community Edition (CE), Enterprise Edition (EE) et une version hébergée par GitLab.
GitLab peut importer des projets et des problèmes à partir de différentes sources, y compris GitHub , ce qui facilite le processus de migration. L'interface Web de GitLab est propre, intuitive et proche de l'interface de GitHub.
Il existe différentes façons d'installer GitLab en fonction de vos préférences.
Cet article couvre l'installation et la configuration de GitLab (CE) sur un CentOS 7 , Ubuntu 18.04 &Debian 9 machine utilisant le package Omnibus.
Configuration requise
La configuration système requise est basée sur le nombre d'utilisateurs qui utiliserait le GitLab.
Pour 100 utilisateurs :
2 cœurs
4 Go de RAM + 4 Go SWAP
PostgreSQL (fortement recommandé)
10 Go d'espace disque disponible
Prérequis
Installez les dépendances avec les commandes suivantes.
### CentOS 7 / RHEL 7 ### yum install -y curl policycoreutils-python openssh-server ### Ubuntu 18.04 / Debian 9 ### sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates
Pare-feu (CentOS / RHEL)
Pour pouvoir accéder à l'interface Web de GitLab, vous devrez ouvrir les ports 80 et 443. Exécutez les commandes suivantes.
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
Installer Postfix
Pour que GitLab envoie des e-mails de notification, vous pouvez soit utiliser Postfix, soit utiliser des services de messagerie externes tels que SendGrid, MailChimp, MailGun ou SES.
Vous pouvez ignorer les étapes suivantes si vous souhaitez configurer GitLab avec des services de messagerie externes et cela peut être fait après l'installation de GitLab.
Exécutez la commande suivante pour installer Postfix.
### CentOS 7 / RHEL 7 ### yum install -y postfix ### Ubuntu 18.04 / Debian 9 ### sudo apt-get install -y postfix
Ubuntu/Debian : Lors de l'installation de Postfix, il vous sera demandé de sélectionner le type de configuration du serveur de messagerie. Sélectionnez Site Internet, puis appuyez sur ENTER. Ensuite, vous devrez entrer le nom de messagerie qui devrait être le nom d'hôte de votre serveur ou le nom DNS externe de votre serveur (ex. example.com ou gitlab.example.com).
Une fois l'installation de Postfix terminée, démarrez et activez le service postfix en exécutant les commandes suivantes.
### CentOS 7 / RHEL 7 ### systemctl start postfix systemctl enable postfix ### Ubuntu 18.04 / Debian 9 ### sudo systemctl start postfix sudo systemctl enable postfix
Installer GitLab
Ajoutez le référentiel GitLab à votre système à l'aide de la commande suivante.
### CentOS 7 / RHEL 7 ### curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ### Ubuntu 18.04 / Debian 9 ### curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Le script ci-dessus activera le référentiel et installera les dépendances nécessaires.
Une fois terminé, installez le GitLab en exécutant la commande suivante.
### CentOS 7 / RHEL 7 ### yum install -y gitlab-ce ### Ubuntu 18.04 / Debian 9 ### sudo apt-get install -y gitlab-ce
Attendez que l'installation soit terminée. Après une installation réussie, vous obtiendrez la sortie suivante.
Avant d'accéder au GitLab, nous devons configurer une URL pour GitLab. Pour ce faire, éditez le fichier de configuration principal du GitLab /etc/gitlab/gitlab.rb .
### CentOS 7 / RHEL 7 ### vi /etc/gitlab/gitlab.rb ### Ubuntu 18.04 / Debian 9 ### sudo nano /etc/gitlab/gitlab.rb
Définir external_url à votre nom de domaine ou IP.
external_url "http://gitlab.itzgeek.local"
Une fois modifié, reconfigurez GitLab pour appliquer les modifications récentes dans le fichier de configuration à l'aide de la commande suivante.
### CentOS 7 / RHEL 7 ### gitlab-ctl reconfigure ### Ubuntu 18.04 / Debian 9 ### sudo gitlab-ctl reconfigure
Configurer GitLab avec Let's Encrypt SSL
Modifiez le fichier de configuration principal de GitLab.
### CentOS 7 / RHEL 7 ### vi /etc/gitlab/gitlab.rb ### Ubuntu 18.04 / Debian 9 ### sudo nano /etc/gitlab/gitlab.rb
Pour activer la prise en charge de Let's Encrypt pour les URL externes, vous devez mettre à jour external_url avec le nom de domaine public (ex. gitlab.itzgeek.com).
external_url "https://gitlab.itzgeek.com"
Ensuite, recherchez l'intégration Let's Encrypt et décommentez la ligne commençant par letsencrypt[‘enable’] et définissez-le sur true .
En option, si vous le souhaitez, vous pouvez choisir de recevoir des e-mails de Let's Encrypt concernant votre domaine (par exemple, des rappels d'expiration de certificat SSL) en décommentant la ligne commençant par letsencrypt[‘contact_emails’] et ajoutez vos adresses e-mail.
De plus, vous pouvez activer le renouvellement automatique du certificat SSL Let's Encrypt.
# Enable Let's Encrypt integration letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['[email protected]'] # Enable Let's Encrypt SSL reneal on every 4th day at 12:30 letsencrypt['auto_renew'] = true letsencrypt['auto_renew_hour'] = "12" letsencrypt['auto_renew_minute'] = "30" letsencrypt['auto_renew_day_of_month'] = "*/4"
Enregistrez et fermez le fichier.
Visitez le portail de votre registraire DNS et créez un enregistrement A pour faire pointer votre external_url vers votre adresse IPv4 GitLab.
NAME TTL TYPE DATA gitlab.itzgeek.com. 3600 A 35.231.140.52
Enfin, exécutez la commande suivante pour reconfigurer Gitlab.
### CentOS 7 / RHEL 7 ### gitlab-ctl reconfigure ### Ubuntu 18.04 / Debian 9 ### sudo gitlab-ctl reconfigure
Accéder à l'interface Web de GitLab
Lancez votre navigateur Web et accédez à.
https://votre.domaine.comOU
http://votre.ser.ver.ipLa première fois que vous accédez à l'interface Web de GitLab, vous serez redirigé vers une page où il vous sera demandé de définir le mot de passe du compte administratif (root).
Entrez le mot de passe souhaité et cliquez sur le bouton Modifier votre mot de passe.
Après avoir défini le mot de passe, vous serez redirigé vers la page de connexion.
Le nom d'utilisateur par défaut du compte administratif est root.
Nom d'utilisateur :root
Mot de passe :[le mot de passe que vous avez défini]
Saisissez les identifiants de connexion, puis cliquez sur le bouton Se connecter.
Vous serez redirigé vers la page d'accueil de GitLab.
Modifier le nom d'utilisateur du compte par défaut
Dans un premier temps, nous allons changer le nom d'utilisateur du compte par défaut de root à autre chose.
Cliquez sur l'icône Administrator Gravatar dans le coin supérieur droit et choisissez Paramètres.
Accédez à Comptes et saisissez le nouveau nom de compte dans le champ Modifier le nom d'utilisateur, puis cliquez sur Mettre à jour le nom d'utilisateur.
Cliquez sur Mettre à jour le nom d'utilisateur pour confirmer les modifications.
Vous devrez entrer le nouveau nom d'utilisateur lors de votre prochaine connexion.
Ajouter une clé SSH
Afin de pousser vos modifications git locales vers le serveur GitLab via SSH, vous devez ajouter votre clé publique SSH (id_rsa.pub) à votre compte GitLab.
Si vous avez déjà créé une paire de clés SSH existante, vous pouvez afficher copier la clé publique en affichant le contenu de la clé à l'aide de la commande cat.
cat ~/.ssh/id_rsa.pub
Si la commande vous renvoie une erreur telle qu'aucun fichier ou répertoire de ce type, cela signifie que votre système n'a pas généré de paire de clés SSH.
Pour générer une paire de clés SSH, utilisez la commande ci-dessous.
ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
Copiez la sortie de la commande cat.
cat ~/.ssh/id_rsa.pub
Accédez à l'interface Web de GitLab et cliquez sur l'icône Gravatar dans le coin supérieur droit et choisissez Paramètres.
Cliquez sur Clés SSH dans le volet de gauche.
Collez la clé publique que vous avez précédemment copiée depuis votre ordinateur local et nommez votre clé, puis cliquez sur le bouton Ajouter une clé.
Vérifiez l'accès à l'aide de la commande ci-dessous.
ssh -T [email protected]
Sortie :
Welcome to GitLab, @raj!
C'est tout.