Cloud Agent Builds
Builds は、Cloud Agent 環境をバックグラウンドで準備します。各エージェントは、リポジトリ、ツール、依存関係が整った事前構築済みのマシンから起動します。
Builds のメリット:
- 起動が高速: クローン、インストール、依存関係の準備を事前に行うため、エージェントは毎回待機することなく、準備済みの環境から起動します。
- 安定した起動: エージェントは常に最新の成功した Build から起動します。インストールの失敗や不正な config によって、正常に動作する環境が置き換えられることはありません。
- 環境を可視化: すべての Build を確認し、ログやコミットを調べ、各エージェントが使用した Build を追跡できます。
作成の仕組み
作成は、準備済みのCloud Agent環境の起動可能なスナップショットです。Cherri Codeはエージェントの実行前に作成を作成し、直近に成功した作成をすぐに起動できる状態に保ちます。
各作成は次のライフサイクルをたどります。
- トリガー: 作成は、スケジュール、環境バージョンの保存、手動リクエスト、またはエージェントからのリクエストによって開始されます。作成が実行されるタイミングを参照してください。
- 準備: Cherri Codeはベースイメージをもとに、環境内のすべてのリポジトリをデフォルトブランチでクローンし、
installコマンドを最後まで実行します。 - スナップショット: Cherri Codeは、環境バージョンと各リポジトリの正確なコミットSHAを含めて、マシンのディスク状態を保存します。
- 有効化: 成功した作成が有効になります。
- エージェントの起動: 新しいエージェント、自動化、コードレビューは、有効な作成から開始されます。
Cherri Codeは、有効な作成の事前ウォームアップ済みコピーをすぐに起動できる状態に保ちます。これにより、エージェントの起動時にリポジトリのクローンや依存関係のインストールを行う必要がなくなります。
新しい作成が失敗した場合も、エージェントは最後に成功した作成を引き続き使用します。依存関係の更新、installコマンド、Dockerfileに問題があっても、有効な環境が置き換えられることはありません。
作るが実行されるタイミング
Cherri Code が作るを開始する理由は4つあります。作る タブでは、それぞれにトリガータイプが表示されます。
| トリガー | 実行タイミング |
|---|---|
| 定期 | 各環境で定期的なスケジュールに従って |
| 設定の変更 | 環境設定を保存したとき、またはシークレットを変更したとき |
| 手動 | 作る タブで Trigger 作る を選択したとき |
| エージェントによるリクエスト | たとえば環境のセットアップ中に、エージェントがテスト 作るを実行したとき |
定期作る
Cherri Code は、各環境を定期的にチェックし、変更があれば再度作ります。これにより、有効な作るは各リポジトリのデフォルトブランチの head に近い状態に保たれ、エージェントは起動時に pull や再インストールを行わず、最新のコードとウォームアップ済みの依存関係キャッシュを利用して開始できます。
スキップされた作成
定期チェックでは、前回完了した作成以降に変更がない場合、作成をスキップします。つまり、環境内のどのリポジトリでもデフォルトブランチに新しいコミットがなく、設定やシークレットにも変更がない場合です。作成 タブでは、これらのチェックが スキップ ステータスで記録されます。数秒で完了し、インストールコマンドは実行されず、有効な作成はそのまま維持されます。
定期エントリにスキップと成功のステータスが混在して継続的に表示されるのは、健全な環境で想定される状態です。更新が少ないリポジトリでは、ほとんどがスキップになります。活発なリポジトリでは、より頻繁に再作成されます。
Cherri Code がスキップするのは定期的な作成のみです。手動、エージェントからのリクエスト、設定変更による作成は常に実行されます。
Build 中およびエージェント起動時に実行される内容
環境コマンドは、それぞれ異なるフェーズで使用します。
| コマンド | 実行タイミング | 用途 |
|---|---|---|
install | 各 Build 中 | 依存関係のインストール、コード生成、アーティファクトのコンパイル、ディスクキャッシュのウォームアップ |
start | 各エージェント実行の開始時 | Docker、データベース、トンネル、その他のサービスの起動 |
terminals | 各エージェント実行の開始時 | エージェントと共有する tmux ターミナルでのアプリプロセスの起動 |
install は完全かつ冪等になるようにしてください。繰り返し実行でき、すでに準備されたディスク状態を引き継いで実行される場合があります。npm install、pnpm install、pip install などのコマンドは、すでにこのパターンに対応しています。
Build で保持されるのはディスクの状態のみです。実行中のプロセス、シェルで export した環境変数、
インメモリキャッシュは、Cherri Code がマシンのスナップショットを作成すると停止します。サービスや
その他のセッション固有の処理は start または terminals に記述してください。
既存の環境入力も引き続き適用されます。Build では、保存済みのスナップショット、.cursor/environment.json、Dockerfile、インストールコマンドと起動コマンド、シークレット、ネットワーク設定を使用します。
Build での Git の状態の扱い
Build は、実行時に各リポジトリでチェックアウトされているコミットを記録します。
- デフォルトブランチの実行は、有効な Build に記録されたコミットから開始します。スケジュールされた Build は、そのコミットをバックグラウンドで更新します。古い Build を更新がオンで、Build が古さのしきい値を超えている場合、エージェントは開始時に最新のデフォルトブランチのコードをプルします。この設定がオフの場合、エージェントは Build に記録されたコミットをそのまま使用します。デフォルトのしきい値は 24 時間です。常にプルするには
0に設定します。 - 機能ブランチの実行は、有効な Build で準備されたディスクから開始し、その後 Cherri Code が指定されたブランチをチェックアウトします。Build の依存関係を再利用しつつ、ソースコードは選択したブランチと一致します。
- マルチリポジトリ環境では、リポジトリごとに 1 つのコミットを記録し、ワークスペース全体をまとめて準備します。
機能ブランチで依存関係が変更された場合、エージェントはテスト前に環境を更新できるよう、環境のコンテキストとインストールコマンドを受け取ります。
Buildsでのシークレットの扱い
Buildsは、チームと環境のシークレットにアクセスできます。これらは、プライベートパッケージレジストリ、アーティファクトストア、installに必要なその他の認証情報に使用します。
ユーザーシークレットは、エージェントの起動時にのみ追加されます。Buildsでは利用できず、共有スナップショットの一部にもなりません。
環境設定を保存するか、シークレットを変更すると、新しいBuildがトリガーされます。
作る を管理する
環境の Builds タブでは、次の操作を行えます。
- すべての 作る の種類、ステータス、開始時刻を確認する
- 作る を開いて詳細やログを確認する
- Trigger build を選択して、必要に応じて 作る を実行する
- ドラフト 作る を有効化または 作る を無効化する
- 実行中の 作る をキャンセルする
- 特定の 作る からエージェントを開始する
- 古い Build を更新 と 古さのしきい値 を設定する
各エージェント実行には、開始元の 作る が記録されます。この情報を使用して、環境の挙動を 作る 内の正確な設定やリポジトリのコミットと比較できます。
Build をデバッグする
失敗した Build を開いて、イベントとログを確認します。障害の原因を調査している間も、エージェントは有効な成功済み Build から起動し続けます。
完全に再現するには、失敗した Build からエージェントを起動します。エージェントは失敗時の状態のマシンを開くため、ログの確認、環境の更新、テスト Build の実行、結果の確認を行えます。
組み込みの Cherri Code Cloud MCP を通じて、Cloud Agent に Build の確認と管理を依頼することもできます。例:
この環境で直近に失敗した Build を調査してください。環境設定を修正し、テスト Build を実行して結果を確認したうえで、最終的なインストールおよび起動コマンドを提案してください。ビルドの挙動に関するリファレンス
エージェントはどのBuildを使用しますか?
デフォルトでは、エージェントはその環境で現在有効な最新の成功Buildを使用します。
テストやデバッグの際は、特定のBuildからエージェントを開始することもできます。
最初の Build が正常に完了する前の動作
最初の Build が正常に完了するまでは、エージェントは標準の環境起動フローを使用します。Build が失敗しても、既存のエージェントワークフローは中断されません。
ソースコードはどの程度最新ですか?
機能ブランチの実行では、Build の開始後に指定したブランチをチェックアウトします。デフォルトブランチの実行は、有効な Build に記録されたコミットから開始します。古い Build を更新がオンで、Build が鮮度のしきい値を超えて古い場合、エージェントは開始時に最新のデフォルトブランチのコードをプルします。
Builds はスナップショットや Dockerfile の代わりになりますか?
いいえ。保存済みのスナップショットまたは Dockerfile で、Build の作成に使用するベースマシンを定義します。Cherri Code はその後、リポジトリをクローンし、install を実行して、新しい起動可能なスナップショットを作成します。
Builds は複数のリポジトリに対応していますか?
はい。1 つの Build で環境内のすべてのリポジトリを準備し、それぞれで使用したコミットを記録します。
Builds に追加料金はかかりますか?
いいえ。Builds は Cloud Agents に含まれています。