使用 Linux 软件包安装极狐GitLab
- Tier: 基础版,专业版,旗舰版
- Offering: 私有化部署
先决条件
- 安装要求。
- 如果你想通过使用域名来访问你的极狐GitLab 实例,比如 mygitlabinstance.com,确保域名正确指向极狐GitLab 安装服务器的 IP。你可以使用命令 host mygitlabinstance.com 来检查。
- 如果你想在极狐GitLab 实例上使用 HTTPS,确保你已准备好域名的 SSL 证书。(注意像容器镜像仓库这样的某些组件可以拥有自己的子域名,需要为这些子域名准备证书。)
- 如果你想发送通知邮件,安装并配置一个邮件服务器 (MTA),比如 Sendmail 或 Postfix。或者,你可以使用其他第三方 SMTP 服务器。
安装和配置
这些配置设置通常在配置 Linux 软件包安装时使用。有关完整的设置列表,请参阅 README 文件。
- 安装极狐GitLab。
- 为极狐GitLab 实例设置域名/URL,以便可以轻松访问。
- 启用 HTTPS。
- 启用通知邮件。
- 通过邮件启用回复。
- 在极狐GitLab 上启用容器镜像仓库。
- 你需要为用于容器镜像仓库的域名准备 SSL 证书。
- 启用极狐GitLab Pages。
- 如果你想启用 HTTPS,必须获得通配符证书。
- 启用 Elasticsearch。
- 极狐GitLab Mattermost。设置与 Linux 软件包一起提供的 Mattermost 消息应用程序。
- 极狐GitLab Prometheus 设置包含在 Linux 软件包中的 Prometheus 监控。
- 极狐GitLab 高可用性角色。
设置初始账户
默认情况下,Linux 软件包安装会自动为初始管理员用户账户 (root) 生成密码,并将其存储到 /etc/gitlab/initial_root_password 中至少 24 小时。出于安全原因,24 小时后,该文件会在第一次 gitlab-ctl reconfigure 运行时自动删除。
默认账户与随机生成的邮箱地址绑定。要覆盖此设置,请将 GITLAB_ROOT_EMAIL 环境变量传递给安装命令。
如果极狐GitLab 无法在安装过程中检测到服务器的有效主机名,则不会运行重新配置。
要提供自定义初始 root 密码,你有两个选项:
-
将 GITLAB_ROOT_PASSWORD 环境变量传递给安装命令,前提是服务器的主机名设置正确:
shellsudo GITLAB_ROOT_EMAIL="<gitlab_admin@example.com>" GITLAB_ROOT_PASSWORD="<strongpassword>" EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ee
如果在安装过程中极狐GitLab 没有自动执行重新配置,你需要将 GITLAB_ROOT_PASSWORD 或 GITLAB_ROOT_EMAIL 变量传递给第一次 gitlab-ctl reconfigure 运行。
-
在第一次重新配置之前,编辑 /etc/gitlab/gitlab.rb(如果不存在则创建它)并设置:
rubygitlab_rails['initial_root_password'] = '<my_strong_password>'
这两种方法仅在初始数据库种子期间适用,该过程在第一次重新配置期间发生。在后续的重新配置运行中,上述方法均无效。在这种情况下,请使用 /etc/gitlab/initial_root_password 中的随机密码登录,或重置 root 密码。
使用 Docker 镜像
你也可以使用极狐GitLab 提供的 Docker 镜像来安装和配置极狐GitLab 实例。查看文档以了解更多信息。
卸载 Linux 软件包 (Omnibus)
要卸载 Linux 软件包,你可以选择保留数据(存储库、数据库、配置)或删除所有数据:
-
可选。为了在删除软件包之前删除由 Linux 软件包创建的所有用户和群组(使用 apt 或 yum),执行以下命令:
shellsudo gitlab-ctl stop && sudo gitlab-ctl remove-accounts
如果在删除账户或群组时遇到问题,请手动运行 userdel 或 groupdel 删除它们。你可能还需要手动从 /home/ 中删除剩余的用户主目录。
-
选择是保留数据还是删除所有数据:
-
要保留数据(存储库、数据库、配置),停止极狐GitLab 并删除其监督进程:
shell1sudo systemctl stop gitlab-runsvdir 2sudo systemctl disable gitlab-runsvdir 3sudo rm /usr/lib/systemd/system/gitlab-runsvdir.service 4sudo systemctl daemon-reload 5sudo systemctl reset-failed 6sudo gitlab-ctl uninstall
-
要删除所有数据:
shellsudo gitlab-ctl cleanse && sudo rm -r /opt/gitlab
-
-
卸载软件包(如果你安装了极狐GitLab FOSS,则替换为 gitlab-ce):
shell# Debian/Ubuntu sudo apt remove gitlab-ee # RedHat/CentOS sudo yum remove gitlab-ee