如何在 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 社区寻求支持。