Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

モノレポのセットアップ

一部のチームはモノレポアプローチ、または共有ライブラリとコンポーネントのデプロイプロセスを簡素化するために複数のパッケージやコンポーネントを含む単一のリポジトリを選択します。モノレポなしでは、各パッケージを個別にデプロイし、パッケージのバージョンとパッケージ間の依存関係を追跡し、バージョンの互換性を確保する必要があります。これはパッケージの数が増えるにつれて、指数関数的に複雑になる可能性があります。モノレポを使用すると、すべてのパッケージと依存関係が単一のリポジトリ内に含まれます。

Amplify Gen 2は、NxやYarn workspacesなどのモノレポツールを使用したフルスタックビルドのモノレポワークフローをサポートしています。Gen 2でビルドする場合、共有ワークスペースにamplify/フォルダを作成することをお勧めします。このガイドでは以下の例を使用します。

├── apps/
│ ├── admin-dashboard/
│ │ ├── next.config.mjs
│ │ └── package.json
│ └── marketing-site/
│ ├── astro.config.mjs
│ └── package.json
├── packages/
│ └── my-shared-backend/
│ ├── amplify/
│ │ ├── auth/
│ │ │ └── resource.ts
│ │ ├── data/
│ │ │ └── resource.ts
│ │ └── backend.ts
│ |── package.json
└── tsconfig.json
└── package.json

モノレポには若干異なるセットアップが必要です。3つのAmplifyアプリをデプロイします。

  1. my-shared-backend
  2. admin-dashboard
  3. marketing-site

バックエンドアプリのデプロイ

最初のアプリmy-shared-backendは、バックエンドの変更を更新する唯一のアプリになります。他のアプリは、共有バックエンドを指すフロントエンドビルドのみを実行します。

  1. まず、共有バックエンドAmplifyアプリをデプロイします。Gen 2では、バックエンドのみのCI/CDアプリをセットアップできるようになりました。Amplifyコンソールに移動して、新しいアプリを作成を選択します。

  2. リポジトリを接続したら、モノレポプロジェクトを選択します。My app is a monorepoというチェックボックスをオンにして、amplifyバックエンドへのパスを入力します。

monorepo

  1. ビルド設定は自動的に検出されます。保存してデプロイします。

フロントエンドアプリのデプロイ

  1. フロントエンドアプリの場合は、フロントエンドプロジェクトをAmplifyコンソールで個別に接続し、ビルドコマンドを次のように更新してください。

app/src/main/res ディレクトリに "raw" フォルダが存在しない場合は、必ず追加してください。

Terminal
npx ampx generate outputs --app-id <your-backend-amplify-app-id> --branch main --out-dir app/src/main/res/raw
  • バックエンドアプリケーションのApp IDを探すには、Amplifyコンソールに移動して、backend-appを選択します。概要ページでは、App IDはプロジェクト名の下に表示されます。