Monorepo ビルド設定 - AWS Amplifyホストする

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Monorepo ビルド設定

1 つのリポジトリに複数のプロジェクトまたはマイクロサービスを格納する場合、モノレポと呼ばれます。Amplify Hosting を使用すると、複数のビルド設定やブランチ構成を作成せずに Monorepo にアプリケーションをデプロイできます。

Amplify コンソールでモノレポのビルド設定を保存するか、amplify.ymlファイルおよびリポジトリのルートに追加します。Amplify は、コンソールに保存された設定をすべてのブランチに適用します。amplify.ymlはリポジトリ内に配置します。[()]amplify.ymlファイルが存在する場合、その設定は Amplify コンソールに保存されているビルド設定よりも優先されます。

Monorepo ビルド仕様 YAML 構文

monorepo ビルド仕様の YAML 構文は、単一のアプリケーションを含むリポジトリの YAML 構文とは異なります。モノレポの場合、アプリケーションのリストで各プロジェクトを宣言します。monorepo ビルド仕様で宣言する各アプリケーションについて、次の追加情報を提供する必要があります。

aproot

アプリケーションが起動するリポジトリ内のルート。このキーが存在し、同じ値を持つ必要がありますAMPLIFY_MONOREPO_APP_ROOT環境変数。この環境変数の設定手順については、を参照してください。AMPLIFY_MONOREPO_APP_ROOT 環境変数の設定

次の monorepo ビルド仕様例は、同じリポジトリ内で複数の Amplify アプリケーションを宣言する方法を示しています。2 つのアプリはreact-app, およびangular-appで宣言されているapplicationsリスト。-appRoot各アプリのキーは、アプリがappsリポジトリ内のルートフォルダ。

version: 1 applications: - appRoot: apps/react-app env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: phases: preBuild: commands: - *enter command* - *enter command* build: commands: - *enter command* artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path - path test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location* - appRoot: apps/angular-app env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: phases: preBuild: commands: - *enter command* - *enter command* build: commands: - *enter command* artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path - path test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location*

AMPLIFY_MONOREPO_APP_ROOT 環境変数の設定

monorepo に保存されているアプリケーションをデプロイすると、アプリのAMPLIFY_MONOREPO_APP_ROOT環境変数は、リポジトリのルートを基準としたアプリルートのパスと同じ値でなければなりません。たとえば、という名前のモノレポExampleMonorepoという名前のルートフォルダを持つappsを含んでいる、app1,app2, およびapp3は次のようなディレクトリ構造になっています。

ExampleMonorepo apps app1 app2 app3

この例では、AMPLIFY_MONOREPO_APP_ROOTの環境変数app1ですapps/app1

Amplify コンソールを使用して Monorepo アプリをデプロイすると、コンソールは自動的にAMPLIFY_MONOREPO_APP_ROOTアプリのルートへのパスに指定した値を使用する環境変数。ただし、モノレポアプリがすでにAmplifyに存在する場合、またはを使用してデプロイされている場合AWS CloudFormationでは、手動でAMPLIFY_MONOREPO_APP_ROOTでの環境変数環境変数Amplify コンソールの [] セクションを選択します。

デプロイ時に AMPLIFY_MONOREPO_APP_ROOT 環境変数を自動的に設定する

次の手順は、Amplify コンソールで monorepo アプリをデプロイする方法を示しています。Amplify は自動的にAMPLIFY_MONOREPO_APP_ROOTコンソールで指定したアプリのルートフォルダーを使用する環境変数。

Amplify コンソールでモノレポアプリをデプロイするには

  1. にサインインします。AWS Management Console[] を開くにはコンソールAmplify

  2. 選択新しいアプリ,ウェブアプリをホストする右上隅の。

  3. リポジトリの []ウェブアプリをホストする[] ページで、Git プロバイダを選択し、[] を選択します。続行

  4. リポジトリの []リポジトリブランチの追加[] ページで、次の操作を行います。

    1. のリストから、リポジトリの名前を選択します。最近更新されたリポジトリ

    2. を使用する場合ブランチ[] で、使用するブランチの名前を選択します。

    3. Selectモノレポをつなぐ? フォルダを選択します。

    4. モノレポでアプリへのパスを入力します。たとえば、apps/app1

    5. [Next] (次へ) を選択します。

  5. リポジトリの []ビルド設定を構成する[] ページでは、デフォルト設定を使用するか、アプリのビルド設定をカスタマイズできます。次のスクリーンショットの例では、Amplify はamplify.ymlビルド設定に使用するリポジトリ内のファイル。左環境変数セクション、Amplify が設定されていますAMPLIFY_MONOREPO_APP_ROOTapps/app1をクリックし、手順 4d で指定したパスを使用します。

    
                Amplify コンソールの [ビルド設定の構成] ページのスクリーンショット。
  6. [Next] (次へ) を選択します。

  7. リポジトリの []確認[] ページで [] を選択する保存してデプロイ

既存のアプリの AMPLIFY_MONOREPO_APP_ROOT 環境変数の設定

次の手順に従って、AMPLIFY_MONOREPO_APP_ROOTAmplify に既にデプロイされている、または CloudFormation を使用して作成されたアプリケーションの環境変数。

既存のアプリに AMPLIFY_MONOREPO_APP_ROOT 環境変数を設定するには

  1. にサインインします。AWS Management Console[] を開くにはコンソールAmplify

  2. 環境変数を設定するアプリの名前を選択します。

  3. ナビゲーションペインで [] を選択します。アプリの設定[] を選択してから、環境変数

  4. リポジトリの []環境変数[] ページで [] を選択する変数を管理する

  5. 変数を管理する[] セクションで、次の操作を行います。

    1. 選択変数を追加する

    2. を使用する場合可変[] キーを入力します。AMPLIFY_MONOREPO_APP_ROOT

    3. を使用する場合Value[] には、アプリケーションのパスを入力します。apps/app1

    4. を使用する場合ブランチのデフォルトで Amplify はすべてのブランチに環境変数を適用します。

  6. [Save] を選択します。