Help us learn about your current experience with the documentation. Take the survey.

使用许可证文件或密钥激活 GitLab EE

如果您从 GitLab 收到许可证文件(例如,用于试用),您可以将其上传到您的实例或在安装过程中添加。许可证文件是一个 base64 编码的 ASCII 文本文件,扩展名为 .gitlab-license

当您首次登录到 GitLab 实例时,应该会显示一个带有指向“添加许可证”页面链接的提示。

否则,请在“管理员”区域添加您的许可证。

在管理员区域添加许可证

  1. 以管理员身份登录 GitLab。
  2. 在左侧边栏底部,选择 管理员
  3. 选择 设置 > 通用
  4. 添加许可证 区域,通过上传文件或输入密钥来添加许可证。
  5. 选中 服务条款 复选框。
  6. 选择 添加许可证

在安装过程中激活订阅

要在安装过程中激活您的订阅,请使用激活码设置 GITLAB_ACTIVATION_CODE 环境变量:

export GITLAB_ACTIVATION_CODE=your_activation_code

在安装过程中添加许可证文件

如果您有许可证,也可以在安装 GitLab 时导入它。

  • 对于自编译安装:

    • Gitlab.gitlab-license 文件放在 config/ 目录中。

    • 要为许可证指定自定义位置和文件名,请使用文件路径设置 GITLAB_LICENSE_FILE 环境变量:

      export GITLAB_LICENSE_FILE="/path/to/license/file"
  • 对于 Linux 软件包安装:

    • Gitlab.gitlab-license 文件放在 /etc/gitlab/ 目录中。

    • 要为许可证指定自定义位置和文件名,请将此条目添加到 gitlab.rb 中:

      gitlab_rails['initial_license_file'] = "/path/to/license/file"
  • 对于 Helm Charts 安装,请使用 global.gitlab.license 配置项

这些方法仅在安装时添加许可证。要续订或升级许可证,请在 Web 用户界面的 管理员 区域中添加许可证。

提交许可证使用数据

如果您在离线环境中使用许可证文件或密钥来激活实例,我们建议您每月提交许可证使用数据,以简化未来的购买和续订流程。 要提交数据,请导出您的许可证使用情况,然后通过电子邮件将其发送至续订服务 [email protected]发送前切勿打开许可证使用文件。否则,文件内容可能会被所使用的程序篡改(例如,时间戳可能被转换为其他格式),从而导致文件处理失败。

如果在订阅开始日期后您没有每月提交数据,系统会向与您的订阅关联的邮箱发送一封电子邮件,并显示一个横幅来提醒您提交数据。该横幅会显示在 仪表盘订阅 页面的 管理员 区域,并在下载使用文件后可以关闭。您只能在提交许可证使用数据后的下一个月之前关闭它。

许可证过期后会发生什么

在许可证过期前十五天,一个带有即将到期日期的通知横幅会显示给 GitLab 管理员。

许可证在过期日期的开始时(服务器时间 00:00)过期。

当您的许可证过期时,GitLab 会锁定功能,例如 Git 推送和议题创建。您的实例将变为只读状态,并向所有管理员显示过期消息。在此情况发生之前,您有 14 天的宽限期。

例如,如果许可证的开始日期为 2024 年 1 月 1 日,结束日期为 2025 年 1 月 1 日:

  • 它将在 2024 年 12 月 31 日服务器时间晚上 11:59:59 过期。
  • 从 2025 年 1 月 1 日服务器时间凌晨 12:00:00 起,该许可证被视为已过期。
  • 14 天的宽限期从 2025 年 1 月 1 日服务器时间凌晨 12:00:00 开始,到 2025 年 1 月 14 日服务器时间晚上 11:59:59 结束。
  • 您的实例将在 2025 年 1 月 15 日服务器时间凌晨 12:00:00 变为只读状态。

要恢复功能,请续订您的订阅

如果许可证已过期超过 30 天,您必须购买新订阅才能恢复功能。

要恢复到免费版功能,请删除所有已过期的许可证

移除许可证

要从 GitLab 自管理实例中移除许可证:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 订阅
  3. 选择 移除许可证

重复这些步骤以移除所有许可证,包括过去应用的许可证。

查看许可证详细信息及历史记录

要查看您的许可证详细信息:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 订阅

您可以添加和查看多个许可证,但在当前日期范围内,只有最新的许可证是有效许可证。

当您添加一个未来日期的许可证时,它要到其适用日期才会生效。您可以在 订阅历史记录 表中查看所有有效订阅。

您还可以将您的许可证使用信息导出为 CSV 文件。

Rails 控制台中的许可证命令

以下命令可以在 Rails 控制台中运行。

任何直接更改数据的命令,如果未正确运行或在适当的条件下运行,都可能是破坏性的。我们强烈建议在测试环境中运行它们,并准备好实例的备份以防万一,以便随时恢复。

查看当前许可证信息

# 许可证信息(姓名、公司、电子邮件地址)
License.current.licensee

# 计划:
License.current.plan

# 上传时间:
License.current.created_at

# 开始时间:
License.current.starts_at

# 过期时间:
License.current.expires_at

# 这是试用许可证吗?
License.current.trial?

# 用于在 CustomersDot 上查找的许可证 ID
License.current.license_id

# Base64 编码的 ASCII 格式的许可证数据
License.current.data

# 确认当前的可计费席位数量(不包括访客用户)。这对于使用 Ultimate 订阅级别(其中访客席位不计入)的客户非常有用。
User.active.without_bots.excluding_guests_and_requests.count

与未来生效的许可证交互

# 未来许可证数据与当前许可证数据的格式相同,只是对 License 前缀使用了不同的修饰符
License.future_dated

检查项目功能在实例上是否可用

功能列表见 features.rb

License.current.feature_available?(:jira_dev_panel_integration)

检查项目功能在项目中是否可用

功能列表见 features.rb

p = Project.find_by_full_path('<group>/<project>')
p.feature_available?(:jira_dev_panel_integration)

通过控制台添加许可证

使用 key 变量

key = "<key>"
license = License.new(data: key)
license.save
License.current # 检查以确保已应用

使用许可证文件

license_file = File.open("/tmp/Gitlab.license")

key = license_file.read.gsub("\r\n", "\n").gsub(/\n+$/, '') + "\n"

license = License.new(data: key)
license.save
License.current # 检查以确保已应用

这些代码片段可以保存到文件中,并使用 Rails Runner执行,以便可以通过 shell 自动化脚本应用许可证。 例如,在一个已知的边缘情况(许可证过期和多个 LDAP 服务器)中,就需要这样做。

移除许可证

要清理许可证历史记录表

TYPE = :trial?
# 或 :expired?

License.select(&TYPE).each(&:destroy!)

# 甚至 License.all.each(&:destroy!)

故障排除

管理员区域中没有订阅区域

由于没有 订阅 区域,您无法添加您的许可证。如果出现以下情况,可能会发生此问题:

  • 您正在运行 GitLab 社区版。在添加许可证之前,您必须升级到企业版。
  • 您正在使用 GitLab.com。您不能将 GitLab 自管理许可证添加到 GitLab.com。要在 GitLab.com 上使用付费功能,请购买单独的订阅

续订时用户数超过许可证限制

GitLab 会显示一条消息,提示您购买更多用户。如果您添加的许可证用户数不足以覆盖您实例中的用户数,就会发生此问题。

要解决此问题,请购买更多席位以覆盖这些用户。更多信息,请阅读许可常见问题解答

在 GitLab 14.2 及更高版本中,对于使用许可证文件的实例,适用以下规则:

  • 如果超出许可证的用户数小于或等于许可证文件中用户数的 10%,则许可证会被应用,您需要在下次续订时支付超出部分的费用。
  • 如果超出许可证的用户数超过许可证文件中用户数的 10%,则您必须购买更多用户后才能应用该许可证。

例如,如果您购买了 100 个用户的许可证,则在添加许可证时最多可以有 110 个用户。但是,如果您有 111 个用户,则必须先购买更多用户,然后才能添加许可证。

添加许可证后仍显示“开始 GitLab Ultimate 试用”

要解决此问题,请重启 Puma 或您的整个 GitLab 实例