Silicon Cloud一键部署GitLab企业版:完整指南与最佳实践
引言
GitLab是一款开源软件开发程序,主要用于托管Git仓库。它提供版本控制、问题追踪、代码审查等功能。GitLab在托管方式上非常灵活,可以在自己的基础设施中进行托管,甚至可以作为开发团队的内部仓库或公开给用户使用,也可以让贡献者托管自己的项目。GitLab企业版还提供安全性和监控等功能。
本教程将指导您如何使用Silicon Cloud GitLab企业版一键部署应用,快速启动一个预装GitLab企业版的Silicon Cloud虚拟服务器(vServer)。创建vServer后,您将学习如何登录GitLab服务器、导航其Web界面以及一些常用命令。由于此一键部署vServer基于标准的Ubuntu 20.04 vServer,因此在完成本指南后,您可以阅读更多我们关于GitLab和Git的相关教程。
一键部署
GitLab企业版一键部署应用预装了最新版GitLab EE(企业版),运行在Ubuntu 20.04虚拟服务器上。截至本文撰写时,该软件包为GitLab 15.8版本。
前提条件
要在浏览器中运行GitLab企业版一键部署应用,您需要一个域名。您可以查阅我们的DNS快速入门指南,了解如何使用Silicon Cloud DNS设置域名。
步骤1 — 创建GitLab企业版虚拟服务器
要创建您的GitLab企业版一键部署虚拟服务器,首先请在我们的市场应用列表中找到并选择“GitLab企业版”应用。这将带您进入Silicon Cloud控制面板。
要开始创建您的虚拟服务器,请点击“创建GitLab企业版虚拟服务器”按钮:
如果您尚未登录Silicon Cloud账户,则需要登录才能继续。如果您没有账户,系统将提示您注册。
接下来,您将进入“创建虚拟服务器”页面。在这里,您可以在创建GitLab企业版虚拟服务器之前自定义服务器设置。我们关于“如何创建您的第一个虚拟服务器”的文档详细描述了所有需要做出的选择,但以下部分将讨论需要考虑的关键设置。
选择镜像
您的镜像将已设置为“市场”选项卡,并选中“GitLab企业版最新版(基于Ubuntu 20.04)”。如果未设置,请切换到“市场”选项卡并在关键词搜索框中搜索“GitLab企业版”。正确设置后,您的控制面板将类似于以下截图:
一旦正确选择了GitLab企业版镜像,您可以接受默认设置或根据您的用例调整设置。我们通常建议进行以下更改:
选择数据中心区域
为避免潜在的延迟,建议您选择离用户群最近的数据中心区域。在某些区域,我们有多个数据中心。这些同一区域的数据中心之间没有区别(例如,SFO3和SFO2)。
选择套餐
选择适合您的套餐。请记住,您可以根据需要调整虚拟服务器的大小。要运行GitLab企业版虚拟服务器,应用程序成功运行所需的最小内存为4GB RAM。此外,推荐的CPU硬件最小配置为4核。这可以支持多达500个用户。要了解更多信息,请阅读官方文档中的系统要求。
选择认证方法
在选择认证方法时,建议为您的虚拟服务器选择SSH密钥选项,而不是密码。使用SSH密钥进行认证通常更安全。请记住,首次在浏览器中打开GitLab企业版时,您将被定向到登录和密码屏幕。您可以使用root的默认账户用户名登录。我们将在后续步骤中讨论在哪里找到初始root密码信息的文件。
选择附加选项
为您的虚拟服务器添加改进的指标监控和警报功能,有助于您随时间跟踪虚拟服务器的资源使用情况。您可能还需要考虑启用自动备份。如果您愿意,可以稍后回来为您已创建的虚拟服务器启用备份功能。
选择主机名
为您的虚拟服务器提供一个您能记住的识别名称,例如“gitlab-ee-droplet-1”或以您将使用的应用程序命名。
完成所有选择后,点击控制面板屏幕底部的“创建虚拟服务器”按钮。虚拟服务器创建后,其IP地址将显示出来:

此IP地址对于连接到您的虚拟服务器以及您将来可能进行的任何配置都非常重要。当您将鼠标悬停在IP地址上时,可以将其复制到剪贴板。
通过一键部署市场创建的虚拟服务器还附带了额外的资源,您可以通过点击“开始使用”链接访问:

这将切换出一个新面板,您可以在其中获取特定于您所选一键部署的额外信息。这包括概述、使用虚拟服务器的后续步骤以及指向我们社区网站相关教程的链接。还有一些有用的链接,用于获取支持和查找GitLab企业版的更多资源。您还可以通过查阅官方GitLab文档获取支持:
接下来,您将通过终端使用您之前设置的SSH认证方法访问您的GitLab企业版虚拟服务器。请注意,您的虚拟服务器可能需要长达10分钟才能正常运行。
步骤2 — 通过SSH访问虚拟服务器以启用配置
启动GitLab企业版虚拟服务器后,您需要通过SSH连接到您的虚拟服务器。这意味着您将从命令行连接到服务器。如果您以前没有使用过SSH或PuTTY等终端程序,请查阅“如何通过SSH连接到您的虚拟服务器”。
准备就绪后,在您的计算机上打开终端,并使用以下命令以root身份通过SSH登录到您的虚拟服务器,将IP地址替换为您的虚拟服务器IP地址:
- ssh root@您的服务器IP
登录后,通过运行以下命令,再次检查防火墙设置是否允许通过端口80和端口443进行HTTP/HTTPS访问:
- ufw status
状态:活动
目标 操作 来源
-- ------ ----
22/tcp 限制 任何地方
80/tcp 允许 任何地方
443/tcp 允许 任何地方
22/tcp (v6) 限制 任何地方 (v6)
80/tcp (v6) 允许 任何地方 (v6)
443/tcp (v6) 允许 任何地方 (v6)
此输出列出了所有允许和受限的端口连接。由于端口80和443的访问已列出,因此您无需添加此规则。但是,如果您确实设置了SSH认证,您将需要确保添加此规则。您可以使用以下命令完成此操作:
- ufw allow OpenSSH
之后,您可以使用ufw status
再次检查状态,确保它已添加到列表中。现在您已成功登录并验证了防火墙设置,下一步您将编辑GitLab的配置文件。
步骤2 — 编辑配置文件
如果您希望GitLab企业版重定向到您的域名,请使用该信息编辑配置文件,然后运行重新配置命令。首先,使用您喜欢的文本编辑器打开以下文件。本示例使用nano:
- nano /etc/gitlab/gitlab.rb
进入文件后,搜索external_url
行。这可能类似于以下内容,包含http和您的IP地址信息:
…
## GitLab URL
##! GitLab将可访问的URL。
##! 有关配置external_url的更多详细信息,请参阅:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the>
##!
##! 注意:在安装/升级期间,环境变量EXTERNAL_URL的值将用于填充/替换此值。
##! 在AWS EC2实例上,我们还会尝试从AWS获取公共主机名/IP地址。
##! 有关更多详细信息,请参阅:
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retri>
external_url 'http://您的IP地址'
…
现在,通过将http更改为https并用您的域名替换IP地址来更新此行,以便您将自动重定向到您的站点并受Let’s Encrypt证书保护:
…
## GitLab URL
##! GitLab将可访问的URL。
##! 有关配置external_url的更多详细信息,请参阅:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the>
##!
##! 注意:在安装/升级期间,环境变量EXTERNAL_URL的值将用于填充/替换此值。
##! 在AWS EC2实例上,我们还会尝试从AWS获取公共主机名/IP地址。
##! 有关更多详细信息,请参阅:
##! https://docs.aws.com/AWSEC2/latest/UserGuide/instancedata-data-retri>
external_url 'https://您的域名'
…
接下来,您需要为Let’s Encrypt添加您的电子邮件。这在您的域名出现问题时非常有用,Let’s Encrypt可以联系您。找到letsencrypt['contact_emails']
行,通过删除哈希符号#
取消注释,然后添加您的信息:
…
letsencrypt['contact_emails'] = ['sammy@example.com']
…
完成这些更改后,保存并关闭文件。如果您使用nano,可以通过按CTRL + X,Y,然后ENTER来完成。
然后运行以下命令重新配置GitLab并应用这些更新:
- gitlab-ctl reconfigure
这将初始化GitLab并使用您更新的服务器信息。这可能需要几分钟,并且是一个没有提示的自动化过程。这还会为您的域名配置Let’s Encrypt证书。
现在您已经更新了配置文件,接下来您将在浏览器上完成配置设置。
步骤3 — 通过Web界面配置GitLab
如前所述,您需要使用GitLab企业版root密码进行首次浏览器登录。要查找这些凭据,请打开以下文件:
- sudo nano /etc/gitlab/initial_root_password
打开此文件后,找到“密码”行以查找该信息:
# 警告:此值仅在以下条件下有效
# 1. 如果手动提供(通过`GITLAB_ROOT_PASSWORD`环境变量或`gitlab.rb`中的`gitlab_rails['initial_root_password']`设置),则在首次为数据库播种之前提供。
# 2. 密码未手动更改,无论是通过UI还是命令行。
#
# 如果此处显示的密码不起作用,您必须按照https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password重置管理员密码。
密码:您的密码
# 注意:此文件将在24小时后的首次重新配置运行后自动删除。
保存此密码信息以备后用。现在当您从浏览器访问登录页面时,请确保准备好以下凭据:
- 用户名:root
- 密码:
/etc/gitlab/initial_root_password
文件中列出的密码
通过在浏览器中访问您的GitLab服务器的域名来开始初始配置:
https://您的域名
您将收到登录页面,并可以输入您最近打开的文件中的用户名和密码凭据:
输入信息并点击“登录”后,您将进入GitLab的仪表板:
进入后,首先导航到最右上角的图标并点击它以显示下拉菜单。从那里,选择“编辑个人资料”:

然后从左侧面板的列表中选择“密码”。更新您的密码为安全密码,以替换为您生成的GitLab密码。完成后,点击“保存密码”:
这将带您返回原始登录屏幕,并显示一条消息,说明密码已更新。输入您的用户名和新密码以再次访问您的GitLab服务器:
如果您想更新用户名,可以通过再次导航到“编辑个人资料”选项,然后选择“账户”来完成:
之后,您可以在“更改用户名”部分更新您的名称。创建账户时默认给您的是root用户名,因此建议您出于安全原因更改它。这不会删除任何管理权限,只会更改名称。完成更改后,点击“更新用户名”。系统将要求您确认此更改,然后将实施。请记住下次登录时密码和用户名的更新:

您还可以调整个人资料的许多其他设置,例如更新头像、当前状态、姓名、代词、发音、电子邮件等。您还可以将SSH密钥添加到您的账户,续订Let’s Encrypt证书,以及限制或禁用公共注册。从我们关于“如何在Ubuntu 20.04上安装和配置GitLab”的教程中了解更多信息。
结论
您的GitLab企业版一键部署虚拟服务器现已准备就绪。要了解有关GitLab设置和功能的更多信息,请查阅我们关于“如何在Ubuntu 20.04上安装和配置GitLab”的教程。有关Git、GitHub和开源的更多一般信息,请查阅我们的“GitHub和开源项目介绍”系列。