Amplify コンソールでのビルド仕様の編集 - AWS Amplify ホスティング

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

Amplify コンソールでのビルド仕様の編集

Amplify コンソールでビルド仕様を編集することで、アプリケーションのビルド設定をカスタマイズできます。ビルド設定は、Git リポジトリにamplify.ymlファイルが保存されているブランチを除き、アプリ内のすべてのブランチに適用されます。

Amplify コンソールでビルド設定を編集するには
  1. にサインインする AWS Management Console Amplify コンソール を開きます。

  2. ビルド設定を編集するアプリを選択します。

  3. ナビゲーションペインで、ホスティング を選択し、ビルド設定 を選択します。

  4. 「ビルド設定」ページの「アプリビルド仕様」セクションで、「編集」を選択します。

  5. ビルド仕様の編集ウィンドウで、更新を入力します。

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

以下のトピックで説明する例を使用して、特定のシナリオのビルド設定を更新できます。

スクリプトを使用したブランチ固有のビルド設定の設定

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

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

モノレポの場合、ユーザーは、cd を実行してフォルダに移動して、ビルドを実行できる必要があります。cd コマンドを実行すると、コマンドがビルドのすべてのステージに適用されるため、各フェーズでコマンドを再度実行する必要はありません。

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

Gen 1 アプリケーションのフロントエンドを使用したバックエンドのデプロイ

注記

このセクションは、Amplify Gen 1 アプリケーションにのみ適用されます。Gen 1 バックエンドは、Amplify Studio と Amplify コマンドラインインターフェイス () を使用して作成されますCLI。

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

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 <package> - <package> 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 パッケージのインストール

Amplify の AL2023 イメージは、 という名前の非特権ユーザーでコードを実行しますamplify。Amplify は、Linux コマンドを使用して OS sudo コマンドを実行する権限をこのユーザーに付与します。依存関係が欠落している OS パッケージをインストールする場合は、 yumや などのコマンドを rpmで使用できますsudo

次のビルドセクションの例は、 sudo コマンドを使用して OS パッケージをインストールするための構文を示しています。

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

ビルドごとにキーバリューストレージを設定する

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

使用例:

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

コミットのビルドのスキップ

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

すべてのコミットで自動ビルドをオフにする

Amplify を設定して、コードコミットごとに自動ビルドをオフにできます。セットアップするには、アプリ設定 ブランチ設定 を選択し、接続されたブランチを一覧表示するブランチセクションを見つけます。ブランチを選択し、アクション 自動ビルド を無効にする を選択します。そのブランチへの新しいコミットは、新しいビルドを開始しません。

差分ベースのフロントエンドビルドとデプロイの設定

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

差分ベースのフロントエンドビルドとデプロイを設定するには
  1. にサインインする AWS Management Console Amplify コンソール を開きます。

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

  3. ナビゲーションペインで、ホスティング、環境変数 を選択します。

  4. 環境変数」セクションで、[変数の管理] を選択します。

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

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

      1. 変数の管理」セクションの [変数] に、AMPLIFY_DIFF_DEPLOY と入力します。

      2. [] に「true」と入力します。

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

      1. 次のいずれかを行います。

        • 変数の管理」セクションで、AMPLIFY_DIFF_DEPLOY を探します。[] に「false」と入力します。

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

  6. [保存] を選択します。

オプションで、デフォルトパスをリポジトリのルートからの相対パス (distなど) でオーバーライドするように環境変数 AMPLIFY_DIFF_DEPLOY_ROOT を設定できます。

Gen 1 アプリケーションの差分ベースのバックエンドビルドの設定

注記

このセクションは、Amplify Gen 1 アプリケーションにのみ適用されます。Gen 1 バックエンドは、Amplify Studio と Amplify コマンドラインインターフェイス () を使用して作成されますCLI。

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

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

差分ベースのバックエンドビルドを設定するには
  1. にサインインする AWS Management Console Amplify コンソール を開きます。

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

  3. ナビゲーションペインで、ホスティング、環境変数 を選択します。

  4. 環境変数」セクションで、[変数の管理] を選択します。

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

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

      1. 変数の管理」セクションの [変数] に、AMPLIFY_DIFF_BACKEND と入力します。

      2. [] に「true」と入力します。

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

      1. 次のいずれかを行います。

        • 変数の管理」セクションで、AMPLIFY_DIFF_BACKEND を探します。[] に「false」と入力します。

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

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