Skip to content

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

モノレポ

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

一部のアプリは単一のリポジトリから構築しますが、Pages はより複雑な構成のアプリにも対応しています。モノレポとは、複数のサブディレクトリがあり、それぞれに独自のアプリケーションが入っているリポジトリです。

セットアップ

同じリポジトリを使って、通常の Pages プロジェクトと同じ手順 で複数のプロジェクトを作成できます。ビルドコマンドやルートディレクトリを変えて、Pages にビルドコマンドを実行する場所を指定できます。同じリポジトリに接続していても、プロジェクト名はすべて一意である必要があります。

ビルド

Git リポジトリを Pages に接続すると、デフォルトではリポジトリ内のどのファイルを変更しても Pages のビルドが起動します。

モノレポの構成例

上記の my-monorepo を例にします。2 つの Pages プロジェクト(marketing-appecommerce-app)と、それぞれの依存関係があります。デフォルトでは、marketing-app のプロジェクトディレクトリ内のファイルを変更すると、ecommerce-app とその依存関係は変わっていなくても、ecommerce-app プロジェクトのビルドも起動します。こうした重複ビルドを避けるには、ビルドウォッチパスブランチ の含める/除外する設定で、Pages がそのプロジェクトのビルドをスキップするかどうかを指定できます。

Git 連携

Git リポジトリ内の各プロジェクトに対して別々の Pages プロジェクトを作成すると、ビルド設定で指定しない限り、Git のプッシュごとに接続されているすべてのプロジェクトで新しいビルドとデプロイが実行されます。

ブランチに Pull Request がある場合、GitHub は各プロジェクトごとに、更新されたプロジェクトとデプロイ URL を含む別々のコメントを表示します。

GitHub のチェックランと GitLab のコミットステータス

リポジトリに複数のプロジェクトが関連付けられている場合、GitHub のチェックラン または GitLab のコミットステータス は、リポジトリ上で次のように表示されます。

GitHub のチェックランGitLab のコミットステータス

何らかの理由(CI Skip、ビルドウォッチパス、ブランチデプロイ制御など)でビルドがスキップされた場合、チェックラン/コミットステータスは表示されません。

モノレポ管理ツール

Pages はモノレポの依存関係管理向けの専用ツールは提供していませんが、リポジトリ管理を助ける追加ツールを導入できます。シンプルなサブパッケージ管理には、npmpnpmYarn のワークスペースを使えます。依存関係とタスク実行も管理したい場合は、TurborepoNXLerna などのより強力なツールも使えます。

制限

  • モノレポのサポートを有効にするには、Build System V2 以降を使う必要があります。
  • 1 つのリポジトリあたり設定できる Pages プロジェクトは最大 5 件です。この上限を引き上げる必要がある場合は、Cloudflare のアカウントチームに問い合わせるか、Limit Increase Request Form を使ってください。

役に立ちましたか?