ubuntu

ubuntu上gitlab容器化部署

小樊
35
2025-08-28 01:30:34
栏目: 智能运维

在Ubuntu上使用Docker容器化部署GitLab是一个相对简单的过程。以下是详细的步骤:

前提条件

  1. 安装Docker:确保你的Ubuntu系统上已经安装了Docker。如果没有安装,可以使用以下命令进行安装:

    sudo apt update
    sudo apt install docker.io
    
  2. 启动并启用Docker服务

    sudo systemctl start docker
    sudo systemctl enable docker
    
  3. 添加GitLab官方Docker镜像仓库

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

部署GitLab

  1. 创建GitLab配置文件: 创建一个名为gitlab.rb的配置文件,并进行必要的配置。例如:

    sudo nano /etc/gitlab/gitlab.rb
    

    在文件中添加或修改以下内容:

    external_url 'http://your-gitlab-domain.com'
    gitlab_rails['lfs_enabled'] = true
    gitlab_rails['gitlab_shell_ssh_port'] = 2222
    gitlab_rails['gitlab_rails']['gitlab_shell_ssh_port'] = 2222
    
  2. 重新配置并重启GitLab: 运行以下命令来应用配置并重启GitLab容器:

    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
    

验证部署

  1. 访问GitLab: 打开浏览器,访问你在gitlab.rb文件中配置的external_url地址,例如http://your-gitlab-domain.com

  2. 登录GitLab: 默认情况下,GitLab的初始管理员用户名是root,密码是在安装过程中生成的。你可以在/etc/gitlab/initial_root_password文件中找到这个密码:

    cat /etc/gitlab/initial_root_password
    

配置SSL(可选)

为了提高安全性,建议为GitLab配置SSL证书。你可以使用Let’s Encrypt免费获取SSL证书,并使用Certbot进行配置。

  1. 安装Certbot

    sudo apt install certbot python3-certbot-docker
    
  2. 获取并配置SSL证书

    sudo certbot certonly --webroot --webroot-path=/var/www/gitlab --email your-email@example.com --agree-tos --no-eff-email --staging -d your-gitlab-domain.com
    
  3. 更新GitLab配置: 编辑/etc/gitlab/gitlab.rb文件,添加以下内容:

    nginx['ssl_certificate'] = "/etc/letsencrypt/live/your-gitlab-domain.com/fullchain.pem"
    nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/your-gitlab-domain.com/privkey.pem"
    nginx['ssl_protocols'] = "TLSv1.2 TLSv1.3"
    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"
    nginx['ssl_prefer_server_ciphers'] = true
    
  4. 重新配置并重启GitLab

    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
    

完成以上步骤后,你的GitLab实例应该已经成功部署并可以通过HTTPS访问了。

0
看了该问题的人还看了