monorepos では、複数のプロジェクトを単一のプラットフォームで整理、管理できる されます。このガイドでは、Google Cloud で Nx ベースのアプリのデプロイを開始する方法について説明します。 App Hosting
Firebase CLI を使用して monorepos をデプロイする
Monorepo のサポートは、Firebase によって呼び出されるバックエンド設定フローに組み込まれています
CLI コマンド apphosting:backends:create
このフローを開始して
すると、アプリケーションのルート モジュールを
リポジトリからの相対ディレクトリです。このプロンプトで、Terraform にパスを
アプリケーションのイメージを pull します。
$ firebase apphosting:backends:create --project [project-name] --location us-central1
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」という 2 つのプロジェクトにアプリケーション名として deploy:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
リポジトリを基準とするアプリのルート ディレクトリは apps/target-app
です。
Firebase コンソールを使用して monorepos をデプロイする
Monorepo のサポートが Firebase のグラフィカル バックエンド設定フローに組み込まれている できます。「ルート ディレクトリ」の入力を求められたら[デプロイ設定]で monorepo 内にデプロイするアプリケーションのパスを指定します。
monorepo デプロイのトラブルシューティング
- 「ルート ディレクトリ」からバックエンド設定時にフィールドが空白になる、App Engine アプリ
次の場合は、Hosting でユーザーのターゲット プロジェクトをビルドしてデプロイできることがあります。
関連する nx.json の
defaultProject
構成 。 - 「ルート ディレクトリ」もフィールドも
defaultProject
の場合、ビルドは失敗し、次のメッセージが表示されます。 App Hosting は Nx monorepo 内でターゲットとするプロジェクトが見つかりません。 - Nx + Angular アプリケーションの場合、Angular アプリケーション
ビルダーを使用してアプリケーションをビルドします。「
Angular アプリケーション ビルダーは
project.json
で指定します。