如何在 CentOS 8/7 上安装和配置 GitLab?


GitLab 是一个开源平台,允许您管理源代码存储库并与团队成员协作。使用 GitLab,您可以托管您的 Git 存储库、管理代码审查、自动化 CI/CD 管道等等。在本文中,我们将指导您完成在 CentOS 8/7 上安装和配置 GitLab 的过程。

在我们开始安装之前,您需要满足一些先决条件 -

先决条件

  • 具有至少 4GB RAM 和 2 个 CPU 内核的 CentOS 8/7 服务器。

  • 指向服务器 IP 地址的域名。

  • 域名的有效 SSL 证书。

  • 一个 root 或 sudo 用户帐户。

步骤 1:更新系统

第一步是将系统软件包更新到最新版本。您可以通过运行以下命令来实现 -

sudo yum update

步骤 2:安装和配置依赖项

接下来,我们需要安装 GitLab 正确运行所需的一些依赖项。运行以下命令来安装它们 -

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients

安装完成后,我们需要配置防火墙以允许 SSH 和 HTTP 流量。运行以下命令来执行此操作 -

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

步骤 3:安装 GitLab

现在我们准备安装 GitLab 了。我们将使用官方的 GitLab Omnibus 软件包来安装 GitLab。运行以下命令下载并安装 GitLab -

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="https://your-domain-name.com" yum install -y gitlab-ee

将“your-domain-name.com”替换为您实际的域名。

安装过程可能需要一些时间,具体取决于服务器的速度和您的互联网连接。安装完成后,您将看到一条消息,提示“GitLab 已安装”。

步骤 4:配置 GitLab

现在 GitLab 已安装,我们需要对其进行配置以使其正常工作。使用您喜欢的文本编辑器打开 GitLab 配置文件 -

sudo nano /etc/gitlab/gitlab.rb

在此文件中,您可以配置各种设置,例如 SMTP 服务器、备份位置等等。目前,我们只配置外部 URL 和 SSL 证书。

在文件中找到以下行 -

# external_url 'http://gitlab.example.com'
# nginx['redirect_http_to_https'] = true
# nginx['redirect_http_to_https_port'] = 80

取消第一行的注释并将“http://gitlab.example.com”替换为您实际的域名。取消第二行和第三行的注释以启用 HTTP 到 HTTPS 的重定向。您的配置应如下所示 -

external_url 'https://your-domain-name.com'
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80

保存并关闭文件。

步骤 5:安装 SSL 证书

GitLab 需要有效的 SSL 证书才能正常工作。如果您没有 SSL 证书,可以从 Let's Encrypt 获取免费证书。

首先,通过运行以下命令安装 Certbot 客户端 -

sudo yum install -y certbot python3-certbot-nginx

接下来,运行以下命令获取 SSL 证书 -

sudo certbot --nginx -d your-domain-name.com

按照说明获取 SSL 证书。证书安装完成后,通过运行以下命令重新加载 nginx 配置 -

sudo gitlab-ctl reconfigure

步骤 6:访问 GitLab

现在 GitLab 已安装并配置完成,您可以通过在 Web 浏览器中导航到您的域名来访问它。如果一切配置正确,您应该会看到 GitLab 登录页面。

GitLab 的默认登录凭据为 -

Username: root
Password: 5iveL!fe

我们建议您在登录 GitLab 后立即更改默认密码。

步骤 7:配置 GitLab Runner

GitLab Runner 是一个应用程序,它响应 GitLab CI/CD 管道中的作业。默认情况下,GitLab Runner 未安装在您的服务器上。您可以按照官方文档进行安装。

安装 GitLab Runner 后,您需要将其注册到 GitLab。在服务器上打开一个终端并运行以下命令 -

sudo gitlab-runner register

按照说明将 GitLab Runner 注册到 GitLab。

以下是一些您可以采取的其他步骤来进一步配置和自定义您的 GitLab 安装 -

配置 GitLab 备份

定期备份 GitLab 数据非常重要,以避免丢失任何宝贵数据。GitLab 提供了一个内置的备份实用程序,您可以将其配置为自动运行。为此,请使用您喜欢的文本编辑器打开 GitLab 配置文件 -

sudo nano /etc/gitlab/gitlab.rb

在文件中找到以下行 -

# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

取消注释该行并指定一个备份目录。保存并关闭文件。

接下来,运行以下命令配置备份 -

sudo gitlab-ctl reconfigure

最后,运行以下命令创建 GitLab 数据的备份 -

sudo gitlab-rake gitlab:backup:create

配置 GitLab SMTP

GitLab 允许您配置 SMTP 设置,以便您可以从 GitLab 实例发送电子邮件。为此,请使用您喜欢的文本编辑器打开 GitLab 配置文件 -

sudo nano /etc/gitlab/gitlab.rb

在文件中找到以下行 -

# gitlab_rails['smtp_enable'] = true
# gitlab_rails['smtp_address'] = "smtp.gmail.com"
# gitlab_rails['smtp_port'] = 587
# gitlab_rails['smtp_user_name'] = "[email protected]"
# gitlab_rails['smtp_password'] = "password"
# gitlab_rails['smtp_domain'] = "smtp.gmail.com"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true
# gitlab_rails['smtp_tls'] = false

取消注释这些行并将 SMTP 设置替换为您自己的设置。保存并关闭文件。

接下来,运行以下命令使用新的 SMTP 设置配置 GitLab -

sudo gitlab-ctl reconfigure

配置 GitLab LDAP

如果您使用 LDAP 管理用户身份验证,则可以将 GitLab 配置为也使用 LDAP 进行身份验证。为此,请使用您喜欢的文本编辑器打开 GitLab 配置文件 -

sudo nano /etc/gitlab/gitlab.rb

在文件中找到以下行 -

# gitlab_rails['ldap_enabled'] = false
# gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
#   main:
#      label: 'LDAP'
#      host: '_your_ldap_server'
#      port: 389
#      uid: 'sAMAccountName'
#      bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
#      password: '_the_password_of_the_bind_user'
#      encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
#      verify_certificates: true
#      smartcard_auth: false
#      active_directory: true
#      allow_username_or_email_login: false
#      lowercase_usernames: false
#      block_auto_created_users: false
#      base: '_the_full_dn_of_the_search_base'
#      user_filter: ''
# EOS

取消注释这些行并将 LDAP 设置替换为您自己的设置。保存并关闭文件。

接下来,运行以下命令使用新的 LDAP 设置配置 GitLab -

sudo gitlab-ctl reconfigure

安装 GitLab 插件

GitLab 允许您安装插件以扩展其功能。您可以从 GitLab 市场浏览和安装 GitLab 插件。要安装插件,请登录到您的 GitLab 实例并导航到“管理”区域。然后,单击“插件”,然后单击“市场”。

您可以浏览可用的插件,然后单击“安装”以安装插件。插件安装完成后,您可能需要通过单击“设置”并按照插件提供的说明进行配置。

自定义 GitLab 外观

GitLab 允许您通过添加徽标和更改配色方案来自定义其外观。要添加徽标,请登录到您的 GitLab 实例并导航到“管理”区域。然后,单击“外观”,然后单击“自定义徽标”。

您可以上传徽标并调整其大小和位置。要更改配色方案,请单击“颜色”并选择一个颜色主题。您还可以通过单击“自定义 CSS”并添加您自己的 CSS 来自定义 CSS。

配置 GitLab Omnibus 设置

GitLab Omnibus 提供了一套丰富的配置选项,可用于自定义您的 GitLab 安装。您可以配置与 GitLab、Nginx、PostgreSQL、Redis 等相关的各种设置。要查看可用的配置选项列表,请运行以下命令 -

sudo gitlab-ctl show-config

这将显示 GitLab 安装的完整配置。

要自定义 GitLab Omnibus 设置,请使用您喜欢的文本编辑器打开 GitLab 配置文件 -

sudo nano /etc/gitlab/gitlab.rb

在这里,您可以取消注释并修改任何可用的设置以自定义您的 GitLab 安装。

配置 GitLab 容器注册表

GitLab 提供了一个内置的容器注册表,可用于存储和管理 Docker 镜像。要启用 GitLab 容器注册表,请使用您喜欢的文本编辑器打开 GitLab 配置文件 -

sudo nano /etc/gitlab/gitlab.rb

在文件中找到以下行 -

# gitlab_rails['registry_enabled'] = false

取消注释该行以启用 GitLab 容器注册表。保存并关闭文件。

接下来,运行以下命令重新配置 GitLab -

sudo gitlab-ctl reconfigure

启用 GitLab 容器注册表后,您可以使用它来存储和管理 Docker 镜像。您可以参考官方文档,了解有关如何使用 GitLab 容器注册表的更多信息。

结论

恭喜!您已成功在 CentOS 8/7 上安装和配置了 GitLab。GitLab 是一款强大的工具,可以帮助您管理源代码存储库并简化您的开发流程。使用 GitLab,您可以与团队成员协作、自动化您的 CI/CD 管道等等。

我们希望本文能帮助您完成安装和配置过程。如果您遇到任何问题或有任何疑问,请随时联系 GitLab 社区寻求支持。

更新于: 2023年5月12日

3K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告