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