在Debian系统上搭建GitLab集群涉及多个步骤,包括安装必要的依赖项、配置多个GitLab实例、设置负载均衡和高可用性等。以下是一个详细的指南:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
在安装过程中,系统会提示设置管理员密码和设置外部URL(如http://your_server_ip),请根据提示进行操作。/etc/gitlab/gitlab.rb
文件,找到 external_url 'http://your_server_ip'
并确保其设置正确。例如:external_url 'http://192.168.1.100'
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo apt-get install redis-server
sudo apt-get install -y postgresql postgresql-contrib
创建数据库和用户并授权给GitLab:sudo -u postgres psql
CREATE DATABASE gitlabhq_production;
CREATE USER gitlab WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production TO gitlab;
\q
/etc/gitlab/gitlab.rb
文件,添加或修改以下配置:gitlab_rails['db_host'] = "localhost"
gitlab_rails['db_port'] = 5432
gitlab_rails['db_user'] = "gitlab"
gitlab_rails['db_password'] = "your_password"
gitlab_rails['db_name'] = "gitlabhq_production"
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo apt-get install nginx
/etc/nginx/sites-available/gitlab
文件,添加以下内容:upstream gitlab {
server 192.168.1.100:80;
server 192.168.1.101:80;
}
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://gitlab;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
在浏览器中输入配置的GitLab URL(如http://192.168.1.100),使用管理员账号和密码进行登录。