在 Ubuntu 24.04 上安装 GitLab CE 的步骤

在 Ubuntu 24.04 上安装 GitLab CE 的步骤

1. 系统要求

在开始安装之前,请确保您的服务器满足以下最低硬件要求:

  • CPU:至少 4 核心(支持多达 500 个用户)。
  • 内存:至少 4GB RAM(建议 8GB 以获得更好性能)。
  • 存储:根据存储库大小,至少 10-20GB 可用磁盘空间。
  • 网络:有效的域名(例如 gitlab.yourdomain.com)指向服务器的公共 IP 地址,或使用服务器的 IP 地址。
  • 权限:具有 sudo 权限的非 root 用户或 root 访问权限。
2. 更新系统包

在安装 GitLab 之前,更新系统以确保所有包和安全补丁都是最新的。打开终端并运行以下命令:

bash

收起取消自动换行运行

复制

sudo apt update && sudo apt upgrade -y

3. 安装必要的依赖项

GitLab 要求安装一些依赖软件包,这些包通常已部分存在于系统中,但为确保完整性,请运行以下命令:

bash

收起取消自动换行运行

复制

sudo apt install -y curl openssh-server ca-certificates tzdata perl

在安装过程中,如果提示配置 Postfix(邮件服务器),选择 Internet Site,并输入您的服务器域名以配置邮件发送功能。GitLab 使用 Postfix 发送通知邮件。

4. 添加 GitLab 官方仓库

GitLab 不在 Ubuntu 24.04 的默认软件源中,因此需要添加 GitLab 官方软件源。运行以下命令下载并执行 GitLab 提供的安装脚本:

bash

收起取消自动换行运行

复制

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

此脚本会检测操作系统(Ubuntu 24.04,代号 Noble),安装必要的工具(如 apt-transport-https),并配置 GitLab CE 的 APT 仓库。您将看到类似以下的输出:

text

收起取消自动换行

复制

Detected operating system as Ubuntu/noble. Checking for curl... Detected curl... Checking for gpg... Detected gpg... Running apt-get update... done. Installing apt-transport-https... done. Installing /etc/apt/sources.list.d/gitlab_gitlab-ce.list...done. Importing packagecloud gpg key... done. Running apt-get update... done. The repository is setup! You can now install packages.

5. 安装 GitLab CE

配置好仓库后,使用以下命令安装 GitLab Community Edition:

bash

收起取消自动换行运行

复制

sudo apt install gitlab-ce -y

您也可以通过指定 EXTERNAL_URL 在安装时自动配置 GitLab 的域名或 IP 地址。例如:

bash

收起取消自动换行运行

复制

sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce -y

注意

  • 替换 gitlab.yourdomain.com 为您的实际域名或服务器 IP 地址(例如 http://192.168.1.100)。
  • 如果使用 HTTPS,需在后续步骤中配置 SSL(如 Let’s Encrypt)。
  • 安装过程可能需要几分钟,因为 GitLab 是一个大型软件包,包含多个组件(如 Nginx、PostgreSQL、Redis 等)。

安装完成后,您将看到类似以下的输出,提示配置尚未完成:

text

收起取消自动换行

复制

Thank you for installing GitLab! GitLab was unable to detect a valid hostname for your instance. Please configure a URL for your GitLab instance by setting `external_url` configuration in /etc/gitlab/gitlab.rb file. Then, you can start your GitLab instance by running the following command: sudo gitlab-ctl reconfigure

6. 配置 GitLab

GitLab 的配置文件位于 /etc/gitlab/gitlab.rb。按照以下步骤配置 GitLab:

  1. 编辑配置文件: 使用文本编辑器(如 nano)编辑 /etc/gitlab/gitlab.rb:

    bash

    收起取消自动换行运行

    复制

    sudo nano /etc/gitlab/gitlab.rb

  2. 设置外部 URL: 找到 external_url 一行(默认被注释),取消注释并设置您的域名或 IP 地址。例如:

    ruby

    收起取消自动换行

    复制

    external_url 'https://gitlab.yourdomain.com'

    如果未设置域名,可以使用服务器 IP 地址,例如:

    ruby

    收起取消自动换行

    复制

    external_url 'http://192.168.1.100'

  3. (可选)启用 Let’s Encrypt SSL: 如果您使用域名并希望启用 HTTPS,取消注释并配置 Let’s Encrypt 设置:

    ruby

    收起取消自动换行

    复制

    letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@yourdomain.com']

    这将自动从 Let’s Encrypt 获取并配置 SSL 证书。

  4. 保存并退出: 保存文件(在 nano 中按 Ctrl+O,Enter,然后 Ctrl+X 退出)。

  5. 重新配置 GitLab: 运行以下命令应用配置更改:

    bash

    收起取消自动换行运行

    复制

    sudo gitlab-ctl reconfigure

    此命令会初始化 GitLab 的所有服务(如数据库、Web 服务器等),可能需要几分钟。完成后,GitLab 将启动并运行。

7. 获取初始管理员密码

GitLab 安装后会为 root 用户生成一个随机密码,存储在 /etc/gitlab/initial_root_password 文件中。查看密码:

bash

收起取消自动换行运行

复制

sudo cat /etc/gitlab/initial_root_password

输出示例:

text

收起取消自动换行

复制

Password: YOUR_PASSWORD # NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

注意:此密码仅在 24 小时内有效。请妥善保存,并在首次登录后更改密码。

8. 访问 GitLab Web 界面

打开浏览器,访问您配置的 external_url(例如 https://gitlab.yourdomain.com 或 http://192.168.1.100)。使用以下凭据登录:

  • 用户名:root
  • 密码:从 /etc/gitlab/initial_root_password 获取的密码

首次登录后,系统会提示您更改 root 用户密码。点击右上角用户图标,选择 Edit Profile,然后在 Password 选项卡中设置新密码。

9. 防火墙配置

如果您的服务器启用了防火墙(如 UFW),确保允许 HTTP、HTTPS 和 SSH 流量:

bash

收起取消自动换行运行

复制

sudo ufw allow http sudo ufw allow https sudo ufw allow ssh sudo ufw status

10. (可选)配置 SMTP 以发送邮件

GitLab 需要配置 SMTP 服务以发送通知邮件。如果未在安装依赖时配置 Postfix,可以通过编辑 /etc/gitlab/gitlab.rb 配置其他 SMTP 服务(如 Google SMTP)。示例(使用 Google SMTP):

ruby

收起取消自动换行

复制

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@gmail.com"
gitlab_rails['smtp_password'] = "your-app-password"
gitlab_rails['smtp_domain'] = "gmail.com"
gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true

保存后重新运行:

bash

收起取消自动换行运行

复制

sudo gitlab-ctl reconfigure

11. 验证安装

检查 GitLab 服务状态以确保所有组件正常运行:

bash

收起取消自动换行运行

复制

sudo gitlab-ctl status

输出应显示所有服务(如 nginx、postgresql、redis 等)处于 run 状态。

12. 下一步

安装完成后,您可以:

  • 创建新项目或导入现有 Git 存储库。
  • 配置用户、组和权限。
  • 设置 CI/CD 管道以实现自动化构建和部署。
  • 探索 GitLab 的其他功能,如问题跟踪、Wiki 和容器注册表。
故障排除
  • 无法访问 Web 界面:检查防火墙设置、域名解析或 external_url 配置是否正确。
  • 密码无效:如果初始密码无效,请按照 GitLab 官方文档重置 root 密码:https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password。
  • 服务未运行:使用 sudo gitlab-ctl restart 重启服务,或检查日志 /var/log/gitlab/。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值