📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB Cloud Filesystem 上でエージェント向けの Git ワークスペースを準備する



このワークフローでは、エージェントタスクの開始におけるクリティカルパスから、大規模リポジトリのクローンを取り除きます。完全なダウンロードが完了する前に、一時的なエージェントが大規模リポジトリを調査または変更する必要がある場合に使用します。

仕組み

ti fs-git clone-git-workspace --blobless --hydrate background は、置き換え可能なエージェントランタイム間で共有できる Git ワークスペースを登録し、すべてのクリーン ブロブのダウンロードが完了する前にそのファイルツリーを公開します。このコマンドはすぐに戻るため、ti がバックグラウンドでクリーンツリーとローカル Git オブジェクトデータベースを hydrate している間に、エージェントはパスを調査して作業を開始できます。通常の clone とは異なり、初期オブジェクト転送はワークフロー全体をブロックしません。ネイティブの blobless partial clone のみを使う場合と異なり、バックグラウンド hydration により、エージェントのクリティカルパス上で繰り返し発生するオンデマンドフェッチを減らせます。hydration の完了前に到着した読み取りは、正確性を保つために引き続き Git の lazy fetch にフォールバックします。編集、commit、fetch、push は通常どおり Git が担当します。

前提条件

  • Filesystem を選択します。
  • Linux FUSE、または macFUSE を使用した macOS と明示的な --driver fuse を使用します。Git ワークスペースは、リモート Git ツリーとワークスペースの変更をマウントパスに統合するために FUSE に依存します。WebDAV マウントではこの統合は提供されません。
  • Git をインストールし、リポジトリ認証を設定します。

ステップ 1. ワークスペースをマウントする

mkdir -p /path/to/workspace ti fs mount-file-system \ --mount-path /path/to/workspace \ --driver fuse \ --mount-profile coding-agent

ステップ 2. ワークスペースを作成し、バックグラウンドで hydrate する

ti fs-git clone-git-workspace \ --repo-url https://github.com/pingcap/tidb.git \ --target-path /path/to/workspace/tidb \ --blobless \ --hydrate background

これでワークスペースツリーが利用可能になり、hydration はバックグラウンドで継続します。エージェントには通常のコマンドで作業を開始させます。

find /path/to/workspace/tidb -maxdepth 2 -type f | head git -C /path/to/workspace/tidb status

決定的なベンチマークを実行する前、またはマウントを drain する前に、必要に応じて明示的に hydration の完了を待機できます。

ti fs-git hydrate-git-workspace \ --target-path /path/to/workspace/tidb \ --timeout 30m

ステップ 3. エージェント worktree を作成する

ti fs-git add-git-worktree \ --base-path /path/to/workspace/tidb \ --worktree-path /path/to/workspace/tidb-agent-task \ --branch-name agent-task

これでエージェントは通常のツールを使用できます。

git -C /path/to/workspace/tidb-agent-task status

worktree を削除する前に、必要な変更を commit または push してください。

クリーンアップ

ti fs-git remove-git-worktree \ --worktree-path /path/to/workspace/tidb-agent-task ti fs unmount-file-system --mount-path /path/to/workspace

未コミットの変更を破棄してよい場合にのみ、worktree の削除で --force を使用してください。Filesystem のアンマウントでは自動的にグレースフルな drain が実行されます。アンマウントせずにリモート作業をフラッシュする必要がある場合にのみ、ti fs drain-file-system を個別に使用してください。

セキュリティおよび運用上の注意

  • リポジトリ認証情報は ti ではなく Git によって管理されます。
  • coding-agent マウントプロファイルは、パフォーマンスのために Git メタデータ、依存関係ディレクトリ、キャッシュ、ビルド出力、およびその他の生成ファイルをローカルマシン上に保持します。
  • coding-agent プロファイルによってローカルに保持されるファイルは、一時的なマシンとともに消えます。必要な Git の変更は commit または push し、再構築できないその他のローカルファイルを保持するには、明示的な --path 値を指定して pack-file-system を使用してください。

次のステップ

このページは役に立ちましたか?