ビルド設定の構成 - AWS Amplifyホストする

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

ビルド設定の構成

Amplify Hosting を使用してアプリケーションをデプロイすると、フロントエンドのフレームワークと、関連するビルド設定が自動的に検出されます。package.jsonはリポジトリ内に配置します。アプリのビルド設定を保存するには、次のオプションがあります。

  • Amplify コンソールでビルド設定を保存する-Amplify コンソールを使用してビルド設定を自動検出および保存することで、Amplify コンソールからアクセスできるようになります。Amplify は、これらの設定をすべてのブランチに適用します。amplify.ymlリポジトリに保存されているファイル。

  • ビルド設定をリポジトリに保存する-amplify.ymlファイルおよびリポジトリのルートに追加します。

Amplify コンソールでアプリのビルド設定を編集するには、アプリの設定,ビルドの設定。ビルド設定は、アプリケーション内のすべてのブランチに適用されます。ただし、amplify.ymlファイルがリポジトリに保存されています。

注記

ビルドの設定Amplify コンソールで表示できます。アプリの設定メニューは、アプリが継続的デプロイ用に設定され、git リポジトリに接続されている場合のみです。このタイプの展開の手順については、を参照してください。既存のコードの使用開始

ビルド仕様 YAML 構文

YAML ビルド仕様には、Amplify がビルドを実行するために使用する一連のビルドコマンドと関連設定が含まれます。YAML の構成は次のとおりです。

version: 1 env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build 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 YAML バージョン番号を表します。

  • aproot-このアプリケーションが存在するリポジトリ内のパス。複数のアプリケーションが定義されていない限り無視されます。

  • env - 環境変数をこのセクションに追加します。また、環境変数はコンソールを使用して追加することもできます。

  • backend - Amplify CLI コマンドを実行して、バックエンドのプロビジョン、Lambda 関数の更新、または継続的なデプロイの一環としての GraphQL スキーマの更新を行います。フロントエンドでバックエンドをデプロイする方法について説明します。

  • frontend - フロントエンドのビルドコマンドを実行します。

  • テスト-テストフェーズでコマンドを実行します。その方法を説明しています。アプリにテストを追加する

  • フロントエンド、バックエンド、およびテストには 3 つあります段階ビルドの各シーケンス中に実行されるコマンドを表します。
    • preBuild - preBuild スクリプトは、実際のビルドの開始前、依存関係のインストール後に実行されます。

    • build - お客様のビルドコマンド。

    • postBuild - ビルド後のスクリプトはビルド完了後に実行されるため、必要なすべてのアーティファクトを出力ディレクトリにコピーしました。

  • artifacts>base-directory - ビルドアーティファクトが存在するディレクトリ。

  • artifacts>files - デプロイするアーティファクトからファイルを指定します。**/* は、すべてのファイルを含めることを意味します。

  • キャッシュ-buildspec のキャッシュフィールドは、ビルド時の依存関係をキャッシュするために使用されます。node_modulesフォルダを選択し、顧客のアプリが組み込まれているパッケージマネージャとフレームワークに基づいて自動的に提案されます。最初のビルドでは、ここのパスはすべてキャッシュされ、その後のビルドではキャッシュを再膨張させ、可能な限りキャッシュされた依存関係を使用してビルド時間を短縮します。

ブランチ固有のビルド設定

bash シェルスクリプトを使用してブランチ固有のビルドを設定できます。たとえば、次のスクリプトはシステム環境変数を使用します。$AWS_BRANCHブランチ名がの場合、コマンドセットを 1 つ実行します。メインブランチ名がの場合、別のコマンドセットdev

frontend: phases: build: commands: - if [ "${AWS_BRANCH}" = "main" ]; then echo "main branch"; fi - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; fi

monorepos の場合、ユーザーはできるようにしたいcdビルドを実行するためのフォルダに移動します。実行後cdコマンドを使用すると、ビルドのすべてのステージに適用されるため、コマンドを別のフェーズで繰り返す必要はありません。

version: 1 env: variables: key: value frontend: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build

フロントエンドを使用したバックエンドのデプロイ

-amplifyPushcommand はバックエンドのデプロイを支援するヘルパースクリプトです。以下のビルド設定によって、現在のブランチにデプロイする上で適切なバックエンド環境が自動的に判別されます。

version: 1 env: variables: key: value backend: phases: build: commands: - amplifyPush --simple

出力フォルダの設定

次のビルド設定は、出力ディレクトリをパブリックフォルダに設定します。

frontend: phases: commands: build: - yarn run build artifacts: baseDirectory: public

ビルドの一部としてパッケージをインストールする

npmまたはyarnビルド中にパッケージをインストールするためのコマンド。

frontend: phases: build: commands: - npm install -g pkg-foo - pkg-foo deploy - yarn run build artifacts: baseDirectory: public

プライベート npm レジストリを使用する

プライベートレジストリへのリファレンスは、ビルド設定で追加するか、環境変数として追加することができます。

build: phases: preBuild: commands: - npm config set <key> <value> - npm config set registry https://registry.npmjs.org - npm config set always-auth true - npm config set email hello@amplifyapp.com - yarn install

OS パッケージのインストール

OS パッケージをインストールして、不足している依存関係を入手します。

build: phases: preBuild: commands: - yum install -y <package>

ビルドごとのキーと値のストレージ

-envCacheビルド時にキーと値のストレージを提供します。に格納されている値envCacheビルド中にのみ変更でき、次回のビルドで再利用できます。の使用envCacheでは、デプロイされた環境に関する情報を保存し、それを連続したビルドでビルドコンテナで使用できるようにします。に保存されている値とは異なり、envCacheでは、ビルド中に環境変数を変更しても、future ビルドには反映されません。

使用例:

envCache --set <key> <value> envCache --get <key>

コミットのビルドをスキップする

特定のコミットの自動ビルドをスキップするには、次のテキストを含めます。[skip-cd]コミットメッセージの末尾です。

自動ビルドを無効にする

コードのコミットごとに自動ビルドを無効にするように Amplify を設定できます。設定するには、アプリの設定,全般をクリックし、スクロールしてブランチセクションには、接続されているブランチの一覧が表示されます。ブランチを選択し、[] を選択します。アクション,auto ビルドを無効にする。さらにそのブランチにコミットしても、新しいビルドは作成されません。

差分ベースのフロントエンドのビルドとデプロイを有効または無効にする

差分ベースのフロントエンドビルドを使用するように Amplify を設定できます。有効にすると、各ビルドの開始時に Amplify は、appRoot、または/src/フォルダは、デフォルトでです。Amplify で違いが見つからない場合、フロントエンドのビルド、テスト(構成されている場合)、デプロイの各ステップはスキップされ、ホストされたアプリは更新されません。

差分ベースのフロントエンドのビルドとデプロイを構成するには

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

  2. 差分ベースのフロントエンドビルドを構成してデプロイするアプリを選択します。

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

  4. 環境変数[] セクションで展開します。変数を管理する

  5. 環境変数の構成手順は、差分ベースのフロントエンドのビルドとデプロイを有効または無効にするかどうかによって異なります。

    • 差分ベースのフロントエンドのビルドとデプロイを有効にするには

      1. 変数を管理する[] セクションで展開します。可変[] と入力します。AMPLIFY_DIFF_DEPLOY

      2. [Value (値)] に「true」と入力します。

    • 差分ベースのフロントエンドのビルドとデプロイを無効にするには

      1. 以下のいずれかを実行します。

        • 変数を管理するセクション、見つけるAMPLIFY_DIFF_DEPLOY。[Value (値)] に「false」と入力します。

        • [] を削除します。AMPLIFY_DIFF_DEPLOY環境変数。

オプションで、AMPLIFY_DIFF_DEPLOY_ROOT環境変数は、リポジトリのルートに対する相対パスでデフォルトパスをオーバーライドします。dist

差分ベースのバックエンドビルドを有効または無効にする

Amplify Hosting を使用して、差分ベースのバックエンドビルドを使用するように設定できます。AMPLIFY_DIFF_BACKEND環境変数。差分ベースのバックエンドビルドを有効にすると、各ビルドの開始時に Amplify は、amplifyリポジトリ内のフォルダ。Amplify で違いが見つからない場合、バックエンドビルドステップはスキップされ、バックエンドリソースは更新されません。プロジェクトに [] および [] がない場合。amplifyリポジトリ内のフォルダの場合、Amplify はAMPLIFY_DIFF_BACKEND環境変数。

バックエンドフェーズのビルド設定でカスタムコマンドが現在指定されている場合、条件付きバックエンドビルドは機能しません。これらのカスタムコマンドを実行する場合は、アプリのビルド設定のフロントエンドフェーズに移動する必要があります。amplify.ymlファイルを開きます。

差分ベースのバックエンドビルドを設定するには

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

  2. 差分ベースのバックエンドビルドを設定するアプリを選択します。

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

  4. 環境変数[] セクションで展開します。変数を管理する

  5. 環境変数を設定する手順は、差分ベースのバックエンドビルドを有効または無効にするかによって異なります。

    • 差分ベースのバックエンドビルドを有効にするには

      1. 変数を管理する[] セクションで展開します。可変[] と入力します。AMPLIFY_DIFF_BACKEND

      2. [Value (値)] に「true」と入力します。

    • 差分ベースのバックエンドビルドを無効にするには

      1. 以下のいずれかを実行します。

        • 変数を管理するセクション、見つけるAMPLIFY_DIFF_BACKEND。[Value (値)] に「false」と入力します。

        • [] を削除します。AMPLIFY_DIFF_BACKEND環境変数。