Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

リポジトリ

最終更新 Markdown で表示Agent セットアップ

Artifacts は作業をリポジトリに保存します。リポジトリは、独自の履歴、refs、リモート URL、トークン、永続状態を持つ、独立した 1 つの Git サービスです。

すべてのリポジトリは、1 つの名前空間(namespace)に属します。名前空間がまだ存在しない場合、Artifacts は、その中に最初のリポジトリを作成するときに名前空間も作成します。

名前空間は関連するリポジトリをまとめ、リポジトリ名はそのグループ内の 1 つのリポジトリを識別します。

リポジトリの識別を理解する

リポジトリには 3 つの識別子があります。

  • 名前空間名
  • リポジトリ名
  • API が返すリポジトリ ID

名前空間とリポジトリ名は、Workers バインディング、REST API、Git リモートで使う安定したアドレスになります。リポジトリ ID は、API レスポンスやログで不透明な識別子が必要なときに使えます。

各リポジトリは、ほかのリポジトリから分離されています。トークン、ライフサイクル、refs、変更は、そのリポジトリにのみ適用されます。

リポジトリ API を理解する

Artifacts は、同じリポジトリを 3 つのインターフェースで公開します。

インターフェース 用途 戻り値
Workers バインディング Worker から作成、一覧、インポート、検査、fork、削除、トークン発行を行う リポジトリのメタデータ、リポジトリハンドル、リポジトリスコープのトークン結果
REST API 外部システムから作成、一覧、インポート、検査、fork、削除、トークン発行を行う リポジトリのメタデータとトークン結果を含む Cloudflare API レスポンス
Git プロトコル リポジトリ内容の clone、fetch、pull、push HTTPS 上の標準的な Git の動作

これらのインターフェースは、同じリポジトリを指します。

たとえば、Workers バインディング または REST API でリポジトリを作成し、返された remote URL を標準の Git クライアントに渡せます。インターフェースごとに別のリポジトリを作成する必要はありません。

インターフェースの関係を理解する

Workers バインディングと REST API はコントロールプレーンのインターフェースです。リポジトリとトークンの管理に使います。

Git プロトコルはデータプレーンのインターフェースです。通常の Git ワークフローでコミット、ツリー、refs を読み書きします。

この分担から、次のよくある流れになります。

  1. Workers バインディングまたは REST API でリポジトリを作成します。
  2. リポジトリの remote URL を読み取ります。
  3. リポジトリスコープのトークンを発行します。
  4. remote とトークンを、git clonegit fetchgit pullgit push で使います。

リポジトリのスコープを理解する

リポジトリのスコープは、命名とアクセスの 2 か所で重要です。

名前空間内の名前

リポジトリ名は、アカウント全体ではなく、名前空間内で一意です。環境やテナントの構成に合わせて、短いリポジトリ名を別の名前空間で再利用できます。

たとえば、app というリポジトリは、prod 名前空間と staging 名前空間の両方に存在できます。

リポジトリ内のトークン

Artifacts のトークンはリポジトリスコープです。あるリポジトリ向けに発行したトークンは、同じ名前空間にあっても、別のリポジトリへのアクセスを許可しません。

clone、fetch、pull には read トークンを使います。クライアントが変更を push する必要がある場合にだけ、write トークンを使います。

リポジトリを作業単位として使う

Artifacts は、各リポジトリを 1 つの作業単位として扱うときに最も効果的です。

履歴、クリーンアップ、アクセス制御を分けたい場合は、エージェント、セッション、ユーザータスク、ベースライン、fork 先ごとに 1 リポジトリを使います。環境、テナント、シャードでそれらのリポジトリをまとめるには、名前空間を使います。

詳細は、名前空間Artifacts の仕組みArtifacts のベストプラクティス を参照してください。

役に立ちましたか?