コンテンツにスキップ

GitLab

OpenCode は GitLab の CI/CD パイプライン、または GitLab Duo を通じて GitLab のワークフローに統合されます。

どちらの場合も、OpenCode は GitLab ランナー上で実行されます。


GitLab CI

OpenCode は通常の GitLab パイプライン内で動作します。CI コンポーネント としてパイプラインに組み込むことができます。

ここでは、コミュニティが作成した OpenCode 用の CI/CD コンポーネント — nagyv/gitlab-opencode を使用しています。


機能

  • ジョブごとにカスタム設定を使用:OpenCode をカスタム設定ディレクトリ (たとえば ./config/#custom-directory) で設定し、OpenCode の呼び出しごとに機能を有効または無効にできます。
  • 最小限のセットアップ:CI コンポーネントがバックグラウンドで OpenCode をセットアップするため、OpenCode の設定と初期プロンプトを作成するだけで済みます。
  • 柔軟性:CI コンポーネントは動作をカスタマイズするための複数の入力をサポートしています

セットアップ

  1. OpenCode 認証 JSON を Settings > CI/CD > Variables の File 型の CI 環境変数として保存します。“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 # The variable name for your OpenCode authentication JSON
          command: optional-custom-command
          message: "Your prompt here"

    その他の入力や使用例については、このコンポーネントの ドキュメント を参照してください。


GitLab Duo

OpenCode は GitLab のワークフローに統合されます。 コメント内で @opencode をメンションすると、OpenCode は GitLab CI パイプライン内でタスクを実行します。


機能

  • Issue のトリアージ:OpenCode に Issue の調査と説明を依頼できます。
  • 修正と実装:OpenCode に Issue の修正や機能の実装を依頼できます。 新しいブランチを作成し、変更を含むマージリクエストを発行します。
  • セキュア:OpenCode は GitLab ランナー上で実行されます。

セットアップ

OpenCode は GitLab の CI/CD パイプラインで動作します。セットアップには次のものが必要です。

  1. GitLab 環境を設定する
  2. CI/CD をセットアップする
  3. AI モデル Provider の API キーを取得する
  4. サービスアカウントを作成する
  5. CI/CD 変数を設定する
  6. フロー設定ファイルを作成する

詳細な手順については、GitLab CLI agents ドキュメント を参照してください。


ここでは、GitLab で OpenCode を使用する方法の例をいくつか示します。

  • Issue を説明する

    GitLab Issue に次のコメントを追加します。

    @opencode explain this issue

    OpenCode は Issue を読み取り、明確な説明で返信します。

  • Issue を修正する

    GitLab Issue で次のように入力します。

    @opencode fix this

    OpenCode は新しいブランチを作成し、変更を実装して、変更を含むマージリクエストを開きます。

  • マージリクエストをレビューする

    GitLab マージリクエストに次のコメントを残します。

    @opencode review this merge request

    OpenCode はマージリクエストをレビューし、フィードバックを提供します。