使用 Linux 软件包安装极狐GitLab

前提条件

  • 安装要求
  • 如果您想通过域名访问您的极狐GitLab 实例,例如 mygitlabinstance.com,请确保该域正确指向安装极狐GitLab 的服务器的 IP。您可以使用命令 host mygitlabinstance.com 进行检查。
  • 如果要在极狐GitLab 实例上使用 HTTPS,请确保已准备好域名的 SSL 证书。(请注意,某些组件(例如 Container Registry)可以拥有自己的子域名,也需要这些子域名的证书。)
  • 如果要发送通知电子邮件,请安装和配置邮件服务器 (MTA),例如 Sendmail 或 Postfix。或者,您可以使用其它第三方 SMTP 服务器

安装和配置

这些配置设置通常在配置 Linux 软件包时使用。有关设置的完整列表,请参阅 README 文档。

设置初始密码

引入于极狐GitLab 14.0。

默认情况下,Linux 软件包安装会自动为初始管理员用户账号 (root) 生成密码,并将其存储到 /etc/gitlab/initial_root_password 至少 24 小时。出于安全原因,24 小时后,此文件会被第一次 gitlab-ctl reconfigure 自动删除。

默认账户与一个随机生成的邮箱地址绑定。如果要覆盖的话,在安装过程中将邮箱地址传递给环境变量 GITLAB_ROOT_EMAIL 即可。

note 如果极狐GitLab 在安装期间无法检测到服务器的有效主机名,则不会运行重新配置。

要提供自定义初始 root 密码,您有两个选择:

  • 如果服务器的主机名设置正确,则将 GITLAB_ROOT_PASSWORD 环境变量传递给安装命令

    sudo GITLAB_ROOT_PASSWORD="<strongpassword>" EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-jh
    

如果在安装期间极狐GitLab 没有自动执行重新配置,则必须将 GITLAB_ROOT_PASSWORDGITLAB_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 软件包,您可以选择保留数据(代码库、数据库、配置)或全部删除:

  1. 可选。在删除软件包(使用 aptyum)之前,删除由 Linux 软件包创建的所有用户和群组

    sudo gitlab-ctl stop && sudo gitlab-ctl remove-accounts
    
    note 如果您在删除账户或组时遇到问题,请手动运行 userdelgroupdel 来删除它们。您可能还想从 /home/ 中手动删除剩余的用户主目录。
  2. 选择是保留您的数据还是删除所有数据:

    • 要保留您的数据(代码库、数据库、配置),请停止极狐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
      
  3. 卸载软件包:

    # Debian/Ubuntu
    sudo apt remove gitlab-jh
    
    # RedHat/CentOS
    sudo yum remove gitlab-jh