跳转到内容

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 用于自定义其行为。

设置

  1. 将你的 OpenCode 认证 JSON 作为 File 类型的 CI 环境变量存储在 Settings > CI/CD > Variables 下。务必将其标记为 “Masked and hidden”。

  2. 将以下内容添加到你的 .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 流水线中运行,以下是设置时需要完成的事项:

  1. 配置 GitLab 环境
  2. 设置 CI/CD
  3. 获取 AI 模型 provider 的 API key
  4. 创建一个 service account
  5. 配置 CI/CD variables
  6. 创建 flow 配置文件

你可以参考 GitLab CLI agents 文档 获取详细说明。


示例

以下是一些在 GitLab 中使用 OpenCode 的示例。

  • 解释 issue

    在 GitLab issue 中添加如下评论。

    @opencode explain this issue

    OpenCode 会阅读该 issue 并给出清晰的解释作为回复。

  • 修复 issue

    在 GitLab issue 中说:

    @opencode fix this

    OpenCode 会创建一个新分支,实现相关变更,并发起一个包含这些变更的 merge request。

  • Review merge request

    在 GitLab merge request 上留下以下评论:

    @opencode review this merge request

    OpenCode 会 review 该 merge request 并提供反馈。