GitLab项目中的AI功能开发许可证配置指南
前言
在现代软件开发中,人工智能(AI)功能正变得越来越重要。GitLab作为领先的DevOps平台,通过GitLab Duo功能集成了多种AI能力。本文将详细介绍如何在本地开发环境中配置GitLab Duo所需的许可证,帮助开发者顺利开展AI功能相关的开发工作。
GitLab Duo许可证基础要求
要使用GitLab Duo功能,您的环境必须满足以下条件:
- 版本要求:必须使用GitLab企业版(Enterprise Edition)
- 许可证类型:需要在线云许可证(Cloud License)
- 订阅计划:必须拥有Premium或Ultimate订阅许可证
- 附加组件:除了基础许可证外,还需要以下任一Duo附加组件:
- Duo Core
- Duo Pro
- Duo Enterprise
本地开发环境(GDK)许可证配置
为什么需要云许可证
云许可证与传统"遗留"许可证的关键区别在于:
- 需要互联网连接来验证许可证有效性
- 定期与GitLab客户门户(CustomersDot)进行验证
- 支持自动更新订阅变更
- 是GitLab自托管和专用客户使用云连接Duo功能的必要条件
推荐配置
对于本地开发环境,建议获取Ultimate许可证,因为:
- 提供对全部GitLab Duo功能的访问权限
- Premium许可证只能访问部分Duo功能
- 更全面地测试各种AI功能
配置步骤
- 获取许可证:按照内部流程获取GitLab自托管Ultimate许可证
- 上传许可证:使用授权码上传许可证
- 设置环境变量:在GDK中配置以下环境变量:
export GITLAB_LICENSE_MODE=test
export CUSTOMER_PORTAL_URL=https://customers.staging.gitlab.com
export CLOUD_CONNECTOR_SELF_SIGN_TOKENS=1
- 模拟SaaS环境(可选):如果需要,可以模拟SaaS实例并在管理面板中为特定组分配Premium和Ultimate许可证
连接至Staging AI网关
作为替代方案,开发者可以选择将本地GitLab实例连接到Staging环境的AI网关:
通过管理界面配置
- 导航至:管理区域 > 设置 > GitLab Duo > 自托管模型
- 设置AI网关URL为:
https://cloud.staging.gitlab.com/ai
- 点击保存更改
通过Rails控制台配置
当无法访问管理界面时,可以使用Rails控制台:
Ai::Setting.instance.update!(ai_gateway_url: 'https://cloud.staging.gitlab.com/ai')
分配Duo席位
配置完成后:
- 重启GDK
- 导航至:管理区域 > GitLab Duo Pro >
/admin/code_suggestions
- 筛选用户找到
root
,使用切换按钮为其分配GitLab Duo Pro附加组件席位
常见问题排查
遇到许可证问题时,可以按照以下步骤排查:
- 运行健康检查:使用Duo健康检查工具识别具体问题
- 验证许可证状态:在管理区域检查许可证是否激活
- 检查席位分配:确认测试用户已分配Duo席位
- 深度调试:对于root用户无法访问Duo Chat等问题,可运行:
GlobalPolicy.new(User.first, User.first).debug(:access_duo_chat)
- 检查日志:查看认证和许可证验证相关错误
- 寻求帮助:
- 云许可证问题:联系内部支持团队
- AI网关连接问题:联系AI框架团队
最佳实践建议
- 多环境测试:在单租户和多租户环境中交替测试功能
- 查阅文档:了解功能是否有环境特定的行为
- 考虑用户场景:确保功能在GitLab.com和自托管环境中都能良好工作
- 许可证管理:定期检查许可证有效期和功能访问权限
在Staging环境中配置Duo
Duo Pro配置流程
- 准备好
staging.gitlab.com
账户 - 创建或选择一个现有群组作为命名空间
- 导航至:设置 > 账单
- 点击
升级到Ultimate
启动购买流程 - 使用测试信用卡完成SaaS Ultimate订阅购买
- 购买GitLab Duo Pro附加组件
- 返回验证群组是否具有Duo Pro访问权限
Duo Enterprise配置
Duo Enterprise许可证无法自助购买,需要联系内部团队进行配置。
总结
正确配置GitLab Duo许可证是开发AI功能的重要前提。本文详细介绍了在本地开发环境和Staging环境中配置许可证的完整流程,以及常见问题的解决方法。遵循这些指南,开发者可以高效地开展GitLab AI功能的开发和测试工作。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考