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

本地开发的 GitLab Duo 许可

要使用 GitLab Duo 功能,您需要:

  • 使用 GitLab 企业版
  • 拥有在线云许可证
  • 拥有 Premium 或 Ultimate 订阅许可证计划
  • 除了您的许可证计划外,还需要拥有其中一个 Duo 插件(Duo Core、Duo Pro 或 Duo Enterprise)

本文档将指导您如何确保这些要求在您的 GDK 中得到满足。

为 GDK 设置 GitLab 团队成员许可证

为什么:对于我们的云端连接的 Duo 功能,云许可证对于 GitLab 自托管和专用客户来说是强制性的。与"传统"GitLab 许可证不同,云许可证需要互联网连接来验证 customers.gitlab.com(CustomersDot)。GitLab 会定期检查许可证有效性,并通过 CustomersDot 自动更新订阅变更。

GitLab Duo 仅适用于 Premium 和 Ultimate 客户。您可能希望为您的 GDK 获取 Ultimate 许可证。Ultimate 可以让您访问所有 GitLab Duo 功能。Premium 只能访问部分 GitLab Duo 功能。

如何

  1. 按照获取 Ultimate 许可证的流程为您的本地实例操作。从 GitLab 自托管 Ultimate 许可证开始。配置好 GitLab 自托管许可证后,您可以随时模拟 SaaS 实例,并在管理面板中为各个组分配 Premium 和 Ultimate 许可证。

  2. 上传您的许可证激活码

  3. 在 GDK 中设置环境变量

    export GITLAB_LICENSE_MODE=test
    export CUSTOMER_PORTAL_URL=https://customers.staging.gitlab.com
    export CLOUD_CONNECTOR_SELF_SIGN_TOKENS=1

(替代方案)连接到暂存 AI Gateway

开发者也可以选择将其本地 GitLab 实例连接到暂存环境的 AI Gateway 实例。

要连接到暂存环境的 AI Gateway,请通过管理界面进行配置。此选项仅适用于拥有 Ultimate 许可证且已激活 Duo Enterprise 插件的场景:

  1. 进入 管理区域 > 设置 > GitLab Duo > 自托管模型
  2. AI Gateway URL 设置为 https://cloud.staging.gitlab.com/ai
  3. 选择 保存更改

或者,您可以在 Rails 控制台中设置 AI Gateway URL(当无法访问管理界面时很有用):

Ai::Setting.instance.update!(ai_gateway_url: 'https://cloud.staging.gitlab.com/ai')
  • 重启您的 GDK。
  • 在您的 GDK 中,导航至 管理区域 > GitLab Duo Pro,然后进入 /admin/code_suggestions
  • 筛选用户以找到 root 用户,并使用切换按钮为其分配一个 GitLab Duo Pro 插件席位。

故障排除

如果您在 Duo 许可证设置方面遇到问题:

  • 运行Duo 健康检查以识别具体问题。请注意,如果您的 Duo 许可证是通过本地脚本生成的,可能会显示"缺少 Cloud Connector 访问令牌",但这没关系。
  • 通过检查管理区域确认您的许可证处于活动状态
  • 确保您的用户已分配 Duo 席位。GDK 安装脚本只会为 root 用户分配 Duo 席位。如果要测试其他用户,请务必为他们分配席位
  • 要更深入调试为什么 root 用户无法访问像 Duo Chat 这样的功能,可以运行 GlobalPolicy.new(User.first, User.first).debug(:access_duo_chat)。这个声明式策略调试输出将帮助您深入了解具体的访问逻辑,以便进行更细致的调试。
  • 检查日志中的任何身份验证或许可证验证错误
  • 对于云许可证问题,请在 Slack 中联系 #s_fulfillment_engineering
  • 对于 AI Gateway 连接问题,请在 Slack 中联系 #g_ai_framework

最佳实践

  • 在两种环境中测试:为了彻底测试,考虑在多租户和单租户设置之间交替进行,以确保您的功能在这两种环境中都能正常工作。
  • 查阅领域文档:查看特定功能的文档,了解是否需要考虑任何环境特定的行为。
  • 考虑最终用户上下文:记住,功能应该同时适用于 GitLab.com 用户以及自托管/专用客户。

其他资源

为您的暂存 GitLab.com 用户账户设置 GitLab Duo

在暂存环境中工作时,您可能需要为您的 staging.gitlab.com 账户设置 Duo 插件。

Duo Pro

  1. https://staging.gitlab.com 准备好您的账户。
  2. 创建新组 或使用现有组作为将接收 Duo Pro 访问权限的命名空间。
  3. 进入 设置 > 计费
  4. 点击 升级到 Ultimate 启动 Ultimate 计划的购买流程。
  5. 重定向到 https://customers.staging.gitlab.com 后,点击 继续使用您的 Gitlab.com 账户
  6. 使用测试信用卡购买 SaaS Ultimate 订阅。
  7. 找到新购买的订阅卡,并从三点菜单中选择 购买 GitLab Duo Pro 选项。
  8. 使用上述步骤中的相同测试信用卡购买 GitLab Duo Pro 插件。
  9. 返回 https://staging.gitlab.com,通过导航至 设置 > GitLab Duo 并管理席位,验证您的组是否具有对 Duo Pro 的访问权限。

Duo Enterprise

内部使用:购买 Duo Enterprise 许可证不是自助服务;请在 #g_provision Slack 频道发布请求,为您的暂存账户授予 Duo Enterprise 许可证。