本地开发的 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 功能。
如何:
-
按照获取 Ultimate 许可证的流程为您的本地实例操作。从 GitLab 自托管 Ultimate 许可证开始。配置好 GitLab 自托管许可证后,您可以随时模拟 SaaS 实例,并在管理面板中为各个组分配 Premium 和 Ultimate 许可证。
-
在 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 插件的场景:
- 进入 管理区域 > 设置 > GitLab Duo > 自托管模型
- 将 AI Gateway URL 设置为
https://cloud.staging.gitlab.com/ai - 选择 保存更改
或者,您可以在 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
- 在 https://staging.gitlab.com 准备好您的账户。
- 创建新组 或使用现有组作为将接收 Duo Pro 访问权限的命名空间。
- 进入 设置 > 计费。
- 点击
升级到 Ultimate启动 Ultimate 计划的购买流程。 - 重定向到 https://customers.staging.gitlab.com 后,点击
继续使用您的 Gitlab.com 账户。 - 使用测试信用卡购买 SaaS Ultimate 订阅。
- 找到新购买的订阅卡,并从三点菜单中选择
购买 GitLab Duo Pro选项。 - 使用上述步骤中的相同测试信用卡购买 GitLab Duo Pro 插件。
- 返回 https://staging.gitlab.com,通过导航至
设置 > GitLab Duo并管理席位,验证您的组是否具有对 Duo Pro 的访问权限。
Duo Enterprise
内部使用:购买 Duo Enterprise 许可证不是自助服务;请在 #g_provision Slack 频道发布请求,为您的暂存账户授予 Duo Enterprise 许可证。