温馨提示×

CentOS环境下GitLab如何部署

小樊
49
2025-07-30 19:21:26
栏目: 智能运维

在CentOS环境下部署GitLab,可以按照以下步骤进行:

1. 准备工作

  • 操作系统:确保你的CentOS系统是最新的,并且已经安装了必要的依赖包。
  • 防火墙设置:确保防火墙允许HTTP/HTTPS流量。

2. 安装依赖包

sudo yum install -y curl policycoreutils openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

3. 添加GitLab仓库

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

4. 安装GitLab

sudo EXTERNAL_URL="http://your_server_ip" yum install -y gitlab-ce

http://your_server_ip替换为你的服务器IP地址或域名。

5. 配置GitLab

  • 编辑配置文件:打开/etc/gitlab/gitlab.rb文件,进行必要的配置。
    sudo nano /etc/gitlab/gitlab.rb
    
  • 修改外部URL:确保external_url设置正确。
    external_url 'http://your_server_ip'
    
  • 调整内存和CPU限制(可选):
    unicorn['worker_processes'] = 3
    unicorn['timeout'] = 300
    gitlab_rails['gitlab_shell_ssh_port'] = 2222
    
  • 重启GitLab
    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
    

6. 验证安装

打开浏览器,访问http://your_server_ip,你应该能看到GitLab的登录页面。

7. 配置SSL(可选但推荐)

为了安全起见,建议为GitLab配置SSL证书。

  • 获取SSL证书:可以使用Let’s Encrypt免费获取。
    sudo yum install -y certbot python2-certbot-nginx
    sudo certbot --nginx -d your_domain.com
    
  • 更新GitLab配置:在/etc/gitlab/gitlab.rb中添加以下内容:
    nginx['listen_port'] = 443
    nginx['ssl_certificate'] = "/etc/letsencrypt/live/your_domain.com/fullchain.pem"
    nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/your_domain.com/privkey.pem"
    nginx['ssl_protocols'] = "TLSv1 TLSv1.1 TLSv1.2"
    nginx['ssl_ciphers'] = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS"
    
  • 重启GitLab
    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
    

8. 配置防火墙

确保防火墙允许HTTP/HTTPS流量。

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

完成以上步骤后,你的GitLab应该已经成功部署在CentOS环境下,并且可以通过浏览器访问。

0