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

WBOY
Libérer: 2023-07-05 18:27:10
original
2301 Les gens l'ont consulté

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
Copier après la connexion

Ensuite, installez GitLab :

sudo yum install -y gitlab-ee
Copier après la connexion
  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
Copier après la connexion
Copier après la connexion

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

external_url 'http://yourdomain.com'
Copier après la connexion

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

sudo gitlab-ctl reconfigure
Copier après la connexion
Copier après la connexion

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

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

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

  1. 安装和配置负载均衡

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

首先,安装Nginx:

sudo yum install -y nginx
Copier après la connexion

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

sudo vi /etc/nginx/nginx.conf
Copier après la connexion

在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;
        }
    }
}
Copier après la connexion

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

sudo systemctl restart nginx
Copier après la connexion
  1. 配置主服务器和备用服务器

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

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

sudo vi /etc/gitlab/gitlab.rb
Copier après la connexion
Copier après la connexion

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

external_url 'http://yourdomain.com'
gitlab_rails['gitlab_shell_ssh_port'] = 10022
Copier après la connexion

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

nginx['enable'] = false
Copier après la connexion

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

sudo gitlab-ctl reconfigure
Copier après la connexion
Copier après la connexion

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

sudo vi /etc/ssh/sshd_config
Copier après la connexion

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

Port 10022
Copier après la connexion

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

sudo systemctl restart sshd
Copier après la connexion

三、测试高可用配置

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

  1. 测试负载均衡

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

  1. 测试主备切换

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

sudo gitlab-ctl stop
Copier après la connexion

然后,再次在浏览器中输入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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal