Maison  >  Article  >  Opération et maintenance  >  Comment configurer un référentiel de code local hautement disponible (tel que GitLab) sous Linux

Comment configurer un référentiel de code local hautement disponible (tel que GitLab) sous Linux

WBOY
WBOYoriginal
2023-07-05 18:27:102281parcourir

Comment configurer un référentiel de code local hautement disponible (tel que GitLab) sur Linux

À mesure que le développement de logiciels et le travail d'équipe deviennent de plus en plus complexes, la demande de gestion de code et de contrôle de version augmente également. En tant que plateforme d'hébergement de code open source, GitLab est largement utilisé dans le développement collaboratif en équipe. Afin d'améliorer la fiabilité et la stabilité de l'entrepôt de code, nous pouvons configurer un entrepôt de code local hautement disponible afin qu'il puisse basculer automatiquement vers un serveur de sauvegarde en cas de panne d'un seul serveur, garantissant ainsi que le travail de l'équipe n'est pas affecté.

Cet article prendra comme exemple la configuration de GitLab sur un système Linux pour présenter comment implémenter un référentiel de code local hautement disponible.

1. Installez et configurez GitLab

  1. Installez GitLab

Il existe de nombreuses façons d'installer GitLab sur un système Linux. Ici, nous prenons CentOS comme exemple et utilisons yum pour l'installer.

Tout d'abord, ajoutez la source du logiciel GitLab :

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

Ensuite, installez GitLab :

sudo yum install -y gitlab-ee
  1. Configurer GitLab

Une fois l'installation terminée, nous devons effectuer certaines configurations de base sur GitLab, notamment la définition du compte administrateur et du mot de passe. , et lier les noms de domaine, etc.

Configurez en éditant le fichier de configuration /etc/gitlab/gitlab.rb : /etc/gitlab/gitlab.rb进行配置:

sudo vi /etc/gitlab/gitlab.rb

找到以下行,将其取消注释并修改为对应的值:

external_url 'http://yourdomain.com'

保存并退出配置文件后,重新配置GitLab:

sudo gitlab-ctl reconfigure

二、配置高可用的本地代码仓库

为了实现高可用的本地代码仓库,我们需要设置一个主服务器和一个备用服务器,并通过负载均衡将流量分发到这两台服务器上。

下面是一个示例的配置,主服务器地址为192.168.0.1,备用服务器地址为192.168.0.2。

  1. 安装和配置负载均衡

在主服务器和备用服务器上都安装和配置一个负载均衡器。这里我们使用Nginx作为负载均衡器。

首先,安装Nginx:

sudo yum install -y nginx

然后,编辑Nginx的配置文件/etc/nginx/nginx.conf

sudo vi /etc/nginx/nginx.conf

在http模块中添加以下配置:

http {
    upstream gitlab {
        server 192.168.0.1:80 weight=5;
        server 192.168.0.2:80 weight=1 backup;
    }

    server {
        listen       80;
        server_name  yourdomain.com;

        location / {
            proxy_pass         http://gitlab;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   Host $http_host;
        }
    }
}

保存并退出配置文件后,重新启动Nginx服务:

sudo systemctl restart nginx
  1. 配置主服务器和备用服务器

在主服务器和备用服务器上都进行如下配置。

首先,编辑GitLab的配置文件/etc/gitlab/gitlab.rb

sudo vi /etc/gitlab/gitlab.rb

找到以下行,将其修改为对应的值:

external_url 'http://yourdomain.com'
gitlab_rails['gitlab_shell_ssh_port'] = 10022

然后,关闭GitLab自带的Nginx服务,在/etc/gitlab/gitlab.rb添加以下行:

nginx['enable'] = false

保存并退出配置文件后,重新配置GitLab:

sudo gitlab-ctl reconfigure

最后,修改SSH配置文件/etc/ssh/sshd_config,将SSH的监听端口改为10022:

sudo vi /etc/ssh/sshd_config

找到以下行,将其修改为对应的值:

Port 10022

保存并退出配置文件后,重新启动SSH服务:

sudo systemctl restart sshd

三、测试高可用配置

完成以上配置后,我们可以进行一些测试来验证高可用的配置是否生效。

  1. 测试负载均衡

在浏览器中输入http://yourdomain.com,查看是否能够正常访问GitLab页面。刷新页面多次,确认每次访问到的是不同的服务器。

  1. 测试主备切换

在主服务器上停止GitLab服务:

sudo gitlab-ctl stop

然后,再次在浏览器中输入http://yourdomain.comrrreee

Retrouvez la ligne suivante, décommentez-la et modifiez-la à la valeur correspondante :

rrreee

Enregistrez et quittez la configuration file Enfin, reconfigurez GitLab :

rrreee

2. Configurez un référentiel de code local hautement disponible 🎜🎜Afin d'obtenir un référentiel de code local hautement disponible, nous devons configurer un serveur principal et un serveur de sauvegarde, et distribuer le trafic vers ces deux grâce à l'équilibrage de charge sur un serveur. 🎜🎜Ce qui suit est un exemple de configuration, l'adresse du serveur principal est 192.168.0.1 et l'adresse du serveur de sauvegarde est 192.168.0.2. 🎜🎜🎜Installer et configurer l'équilibrage de charge 🎜🎜🎜Installez et configurez un équilibreur de charge sur les serveurs principal et de sauvegarde. Ici, nous utilisons Nginx comme équilibreur de charge. 🎜🎜Tout d'abord, installez Nginx : 🎜rrreee🎜Ensuite, éditez le fichier de configuration de Nginx /etc/nginx/nginx.conf : 🎜rrreee🎜Ajoutez la configuration suivante dans le module http : 🎜rrreee🎜Enregistrez et quittez Après avoir configuré le fichier, redémarrez le service Nginx : 🎜rrreee🎜🎜Configurez le serveur principal et le serveur de sauvegarde🎜🎜🎜Configurez les éléments suivants sur le serveur principal et le serveur de sauvegarde. 🎜🎜Tout d'abord, éditez le fichier de configuration de GitLab /etc/gitlab/gitlab.rb : 🎜rrreee🎜Trouvez la ligne suivante et modifiez-la avec la valeur correspondante : 🎜rrreee🎜Ensuite, fermez le service Nginx de GitLab, ajoutez la ligne suivante dans /etc/gitlab/gitlab.rb : 🎜rrreee🎜Après avoir enregistré et quitté le fichier de configuration, reconfigurez GitLab : 🎜rrreee🎜Enfin, modifiez le fichier de configuration SSH / etc /ssh/sshd_config, changez le port d'écoute SSH en 10022 : 🎜rrreee🎜Recherchez la ligne suivante et modifiez-la à la valeur correspondante : 🎜rrreee🎜Après avoir enregistré et quitté le fichier de configuration, redémarrez le service SSH : 🎜 rrreee 🎜3. Testez la configuration haute disponibilité🎜🎜Après avoir terminé la configuration ci-dessus, nous pouvons effectuer quelques tests pour vérifier si la configuration haute disponibilité prend effet. 🎜🎜🎜Test de l'équilibrage de charge🎜🎜🎜Entrez http://votredomaine.com dans le navigateur pour voir si vous pouvez accéder normalement à la page GitLab. Actualisez la page plusieurs fois pour confirmer que vous accédez à un serveur différent à chaque fois. 🎜🎜🎜Test de la commutation actif/veille🎜🎜🎜Arrêtez le service GitLab sur le serveur principal : 🎜rrreee🎜Entrez ensuite à nouveau http://votredomaine.com dans le navigateur pour confirmer s'il passe automatiquement à serveur de secours. 🎜🎜Grâce aux tests ci-dessus, nous pouvons confirmer que le référentiel de code local hautement disponible a été configuré avec succès et efficace. 🎜🎜Lors de la configuration d'un référentiel de code local hautement disponible, nous avons utilisé des outils tels que GitLab et Nginx et effectué des configurations pertinentes. Grâce à ces configurations, nous avons réussi à configurer un entrepôt de code local hautement disponible sur le système Linux. De cette façon, même en cas de panne du serveur principal, le serveur de sauvegarde peut prendre le relais, garantissant que le travail de l'équipe ne soit pas affecté et améliorant la fiabilité et la stabilité de l'entrepôt de code. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn