GitLab
OpenCode 可通过 GitLab CI/CD 流水线或 GitLab Duo 与你的 GitLab 工作流集成。
无论哪种方式,OpenCode 都会在你的 GitLab runner 上运行。
GitLab CI
OpenCode 可在常规的 GitLab 流水线中工作。你可以将其作为 CI component 内置到流水线中。
这里我们使用的是社区为 OpenCode 创建的 CI/CD 组件 — nagyv/gitlab-opencode。
功能
- 为每个 job 使用自定义配置:使用自定义的配置目录配置 OpenCode,例如
./config/#custom-directory,以便在每次调用 OpenCode 时启用或禁用某些功能。 - 极简设置:CI 组件会在后台自动设置 OpenCode,你只需要创建 OpenCode 配置和初始 prompt。
- 灵活:CI 组件支持多个 inputs 用于自定义其行为。
设置
-
将你的 OpenCode 认证 JSON 作为 File 类型的 CI 环境变量存储在 Settings > CI/CD > Variables 下。务必将其标记为 “Masked and hidden”。
-
将以下内容添加到你的
.gitlab-ci.yml文件中。include: - component: $CI_SERVER_FQDN/nagyv/gitlab-opencode/opencode@2 inputs: config_dir: ${CI_PROJECT_DIR}/opencode-config auth_json: $OPENCODE_AUTH_JSON # 你的 OpenCode 认证 JSON 的变量名 command: optional-custom-command message: "Your prompt here"
更多 inputs 和用例请查阅该组件的文档。
GitLab Duo
OpenCode 可与你的 GitLab 工作流集成。
在评论中提及 @opencode,OpenCode 就会在你的 GitLab CI 流水线中执行任务。
功能
- 分类 issue:让 OpenCode 调查某个 issue 并向你解释。
- 修复和实现:让 OpenCode 修复某个 issue 或实现某个功能。 它会创建一个新分支并提交一个包含这些变更的 merge request。
- 安全:OpenCode 在你的 GitLab runner 上运行。
设置
OpenCode 在你的 GitLab CI/CD 流水线中运行,以下是设置时需要完成的事项:
- 配置 GitLab 环境
- 设置 CI/CD
- 获取 AI 模型 provider 的 API key
- 创建一个 service account
- 配置 CI/CD variables
- 创建 flow 配置文件
你可以参考 GitLab CLI agents 文档 获取详细说明。
示例
以下是一些在 GitLab 中使用 OpenCode 的示例。
-
解释 issue
在 GitLab issue 中添加如下评论。
@opencode explain this issueOpenCode 会阅读该 issue 并给出清晰的解释作为回复。
-
修复 issue
在 GitLab issue 中说:
@opencode fix thisOpenCode 会创建一个新分支,实现相关变更,并发起一个包含这些变更的 merge request。
-
Review merge request
在 GitLab merge request 上留下以下评论:
@opencode review this merge requestOpenCode 会 review 该 merge request 并提供反馈。