App Hosting で monorepos を使用する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
モノレポを使用すると、複数のプロジェクトを 1 つのディレクトリで整理して管理できます。このガイドでは、App Hosting を使用して Nx ベースのアプリのデプロイを開始する方法について説明します。
Firebase コンソールでモノレポをデプロイする
モノレポのサポートは、Firebase コンソールのグラフィカル バックエンド設定フローに組み込まれています。[デプロイ設定] の [ルート ディレクトリ] の入力を求められたら、monorepo 内でデプロイするアプリケーションのパスを指定します。

Firebase CLI を使用してモノレポをデプロイする
モノレポのサポートは、Firebase CLI コマンド apphosting:backends:create
によって呼び出されるバックエンド設定フローに組み込まれています。このフローに入り、選択した GitHub リポジトリを指定すると、リポジトリに対するアプリのルート ディレクトリを指定するように求められます。このプロンプトで、モノレポ内にデプロイするアプリケーションのパスを渡します。
$ firebase apphosting:backends:create --project [project-name]
i === Import a GitHub repository
✔ Connected with GitHub successfully
? Which GitHub repo do you want to deploy? gh-username/nx-monorepo
? Specify your app's root directory relative to your repository path/to/app
たとえば、次の Nx プロジェクト構造と、ビルドしてデプロイするアプリケーションとして「target-app」を指定した場合、デプロイされるアセットは次のようになります。
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
リポジトリに対するアプリのルート ディレクトリは apps/target-app
です。
monorepo デプロイのトラブルシューティング
- [ルート ディレクトリ] フィールドを指定しない場合、ビルドは失敗し、App Hosting が Nx モノレポ内のターゲット プロジェクトを見つけられないというメッセージが表示されます。
- Nx + Angular アプリケーションの場合、Angular アプリケーション ビルダーを使用してアプリケーションをビルドする必要があります。Angular アプリケーション ビルダーは
project.json
で指定されます。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-20 UTC。
[null,null,["最終更新日 2025-08-20 UTC。"],[],[],null,["\u003cbr /\u003e\n\nWith monorepos, you can organize and manage multiple projects in a single\ndirectory. This guide describes how to get started deploying Nx-based apps with\nApp Hosting.\n\nDeploy monorepos with the Firebase console\n\nMonorepo support is built into the graphical backend setup flow in the Firebase\nconsole. When prompted for a \"Root directory\" under \"Deployment settings,\"\nspecify the path to the application you want to deploy inside the monorepo:\n\nDeploy monorepos with the Firebase CLI\n\nMonorepo support is built into the backend setup flow invoked by the Firebase\nCLI command `apphosting:backends:create`. After you enter this flow and specify\nyour chosen GitHub repository, you are prompted to specify your app's root\ndirectory relative to your repository; at this prompt, pass the path to the\napplication you want to deploy inside the monorepo: \n\n $ firebase apphosting:backends:create --project [project-name]\n i === Import a GitHub repository\n ✔ Connected with GitHub successfully\n\n ? Which GitHub repo do you want to deploy? gh-username/nx-monorepo\n ? Specify your app's root directory relative to your repository path/to/app\n\nFor example, here are the assets that would be deployed given the following Nx\nproject structure and \"target-app\" as the application you want to build and\ndeploy: \n\n .\n ├── lib\n ├── apps\n │ └── target-app\n │ ├── project.json\n │ └── src\n │ └── ...\n ├── nx.json\n ├── package-lock.json\n └── package.json\n\nThe app's root directory relative to your repository is `apps/target-app`.\n\nTroubleshooting monorepo deployment\n\n- If you do not specify the \"root directory\" field, then the build will fail and display a message that App Hosting cannot find a project to target inside the Nx monorepo.\n- For Nx + Angular applications, you must use the [Angular application\n builder](https://angular.io/guide/esbuild) to build the application. The Angular application builder is specified in `project.json`"]]