GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer GitLab sur CentOS 8

GitLab est une plate-forme de contrôle de version gratuite, open source et basée sur le Web qui vous permet de gérer tous vos référentiels Git à partir du serveur centralisé. GitLab est une excellente alternative à Github, offrant des fonctionnalités très utiles, notamment la révision du code, la gestion des problèmes, la création de branches de référentiel, la fusion, le suivi du temps et l'intégration et le déploiement continus. GitLab est spécialement conçu pour que les développeurs puissent créer, réviser et déployer leurs projets.

GitLab est disponible en trois éditions différentes :Community Edition (CE), Enterprise Edition (EE) et une version hébergée par GitLab. Vous pouvez installer n'importe lequel d'entre eux en fonction des exigences de votre cas d'utilisation.

Dans ce tutoriel, nous allons vous montrer comment installer GitLab CE sur CentOS 8.

Prérequis

  • Un nouveau VPS CentOS 8 sur la plate-forme cloud Atlantic.Net.
  • Un processeur avec 2 cœurs pour prendre en charge jusqu'à 500 utilisateurs.
  • Au moins 4 Go de RAM pour prendre en charge jusqu'à 50 utilisateurs
  • Un nom de domaine valide pointant vers l'adresse IP de votre serveur.
  • Un mot de passe root configuré sur votre serveur.

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant CentOS 8 comme système d'exploitation avec au moins 4 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois que vous êtes connecté à votre serveur CentOS 8, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

dnf update -y

Ensuite, vous devrez installer certaines dépendances requises sur votre système. Vous pouvez tous les installer avec la commande suivante :

dnf install curl policycoreutils python3-policycoreutils -y

Étape 2 - Installer GitLab CE

Vous pouvez l'installer avec la commande suivante :

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash

Une fois le référentiel ajouté, vous devriez obtenir le résultat suivant :

Ensuite, installez GitLab CE en exécutant la commande suivante :

dnf install gitlab-ce -y

Une fois l'installation terminée avec succès, vous pouvez passer à l'étape suivante.

Étape 3 - Sécurisez GitLab avec Let's Encrypt

Ensuite, vous devrez définir l'URL GitLab et activer l'intégration Let's Encrypt. Vous pouvez le faire en éditant le fichier /etc/gitlab/gitlab.rb :

nano /etc/gitlab/gitlab.rb

Modifiez les lignes suivantes qui correspondent à votre nom de domaine et activez l'intégration Let's Encrypt avec la valeur souhaitée :

external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']  
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 15
letsencrypt['auto_renew_day_of_month'] = "*/4"

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, reconfigurez GitLab CE avec la commande suivante :

gitlab-ctl reconfigure

Cette commande va reconfigurer GitLab et le sécuriser avec Let's Encrypt SSL. Une fois la configuration de GitLab terminée avec succès, vous devriez obtenir le résultat suivant :

  * execute[reload prometheus] action run
    - execute /opt/gitlab/bin/gitlab-ctl hup prometheus
Recipe: monitoring::alertmanager
  * runit_service[alertmanager] action restart (up to date)
Recipe: monitoring::postgres-exporter
  * runit_service[postgres-exporter] action restart (up to date)
Recipe: monitoring::grafana
  * runit_service[grafana] action restart (up to date)
Recipe: nginx::enable
  * execute[reload nginx] action run
    - execute gitlab-ctl hup nginx
Recipe: letsencrypt::enable
  * ruby_block[display_le_message] action run
    - execute the ruby block display_le_message
Recipe: crond::enable
  * runit_service[crond] action restart (up to date)

Running handlers:
Running handlers complete
Chef Client finished, 609/1641 resources updated in 10 minutes 43 seconds

Warnings:
Environment variable LANG specifies a non-UTF-8 locale. GitLab requires UTF-8 encoding to function properly. Please check your locale settings.

gitlab Reconfigured!

Étape 4 - Accéder à l'interface utilisateur Web GitLab

À ce stade, GitLab est installé et configuré, et vous pouvez maintenant accéder à l'interface utilisateur GitLab en visitant l'URL https://gitlab.example.com. Vous serez redirigé vers l'écran de changement de mot de passe comme indiqué ci-dessous :

Définissez le nouveau mot de passe pour l'utilisateur root et cliquez sur Modifier votre mot de passe bouton. Une fois le mot de passe changé avec succès, vous devriez voir l'écran de connexion GitLab :

Entrez root comme nom d'utilisateur, votre mot de passe spécifié et cliquez sur Signer dans bouton. Vous devriez voir le tableau de bord GitLab dans l'écran suivant :

Étape 5 - Désactiver l'inscription de l'utilisateur

Pour désactiver l'inscription des utilisateurs, cliquez sur Admin comme indiqué ci-dessous :

Maintenant, cliquez sur Paramètres dans le volet de gauche. Vous devriez voir la page suivante :

Ensuite, développez les restrictions d'inscription. Vous devriez voir la page suivante :

Ensuite, décochez le bouton Inscription activée pour désactiver l'enregistrement des utilisateurs sur la page d'accueil de GitLab et cliquez sur Enregistrer Modifications bouton.

Ensuite, déconnectez-vous de votre tableau de bord GitLab. Vous devriez voir l'écran suivant :

Comme vous pouvez le voir, l'onglet pour l'enregistrement des utilisateurs est manquant.

Étape 6 - Automatiser la sauvegarde GitLab

Vous pouvez effectuer une sauvegarde complète des données GitLab avec la commande suivante :

gitlab-rake gitlab:backup:create

Cette commande effectuera une sauvegarde complète des données GitLab et l'enregistrera dans le répertoire /var/opt/gitlab/backups. Une fois la sauvegarde terminée avec succès, vous devriez obtenir le résultat suivant :

2020-03-22 10:59:34 -0400 -- Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... [DONE]
2020-03-22 10:59:37 -0400 -- done
2020-03-22 10:59:37 -0400 -- Dumping repositories ...
2020-03-22 10:59:38 -0400 -- done
2020-03-22 10:59:38 -0400 -- Dumping uploads ...
2020-03-22 10:59:38 -0400 -- done
2020-03-22 10:59:38 -0400 -- Dumping builds ...
2020-03-22 10:59:38 -0400 -- done
2020-03-22 10:59:38 -0400 -- Dumping artifacts ...
2020-03-22 10:59:38 -0400 -- done
2020-03-22 10:59:38 -0400 -- Dumping pages ...
2020-03-22 10:59:38 -0400 -- done
2020-03-22 10:59:38 -0400 -- Dumping lfs objects ...
2020-03-22 10:59:38 -0400 -- done
2020-03-22 10:59:38 -0400 -- Dumping container registry images ...
2020-03-22 10:59:38 -0400 -- done
Creating backup archive: 1584889178_2020_03_22_12.9.0_gitlab_backup.tar ... done
Uploading backup archive to remote storage  ... skipped
Deleting tmp directories ... done
done
done
done
done
done
done
done
done
Deleting old backups ... skipping
Backup task is done.

Il est recommandé de planifier des sauvegardes avec Cron afin que vous n'ayez pas besoin d'exécuter des sauvegardes régulièrement.

Vous pouvez programmer des sauvegardes en modifiant le fichier suivant :

nano /etc/crontab

Ajoutez la ligne suivante pour sauvegarder les données GitLab tous les jours à 20h :

0 20 * * * gitlab-rake gitlab:backup:create

Enregistrez et fermez le fichier lorsque vous avez terminé.

Conclusion

Toutes nos félicitations! Vous avez installé et configuré avec succès GitLab CE sur le serveur CentOS 8. Vous pouvez désormais héberger votre propre référentiel avec GitLab et commencer à collaborer avec d'autres développeurs dès aujourd'hui avec GitLab sur un VPS avec Atlantic.Net !


Linux
  1. Comment installer Docker sur CentOS 7

  2. Comment installer R sur CentOS 7

  3. Comment installer et configurer GitLab sur CentOS 7

  4. Comment installer Tomcat 7 sur Centos ?

  5. Installer GitLab sur CentOS 7

Comment installer Nginx sur CentOS 7 ?

Comment installer Jenkins sur CentOS 7 ?

Comment installer phpMyAdmin sur CentOS 7 ?

Comment installer Codeignetor centos 7 ?

Comment installer Mongodb dans CentOS ?

Comment installer VirtualBox sur CentOS 8