縮小されたアセットがビルドフェーズで見つからないか、生成されません

Adobe Commerce Cloud では、ファイルシステムの問題や ファイルまたは ファイルの不適切な設定が原因で、縮小されたアセットがデプロイメント後に .magento.env.yaml404config.php エラーを返します。 この問題を修正するには、ファイルの権限をチェックして web サーバーからアクセスできることを確認し、ファイルと .magento.env.yaml  ファイルが環境に対して正しく設定されていることを確認します app/etc/config.php

説明 description

環境

Adobe Commerce Cloud

問題/症状

Web サイトのデプロイメント完了後、特定の縮小されたアセットにアクセスできません(例:https://yourdomain.com/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js returns 404)。 これは、次の理由で発生します。

  • ファイルがすべての web ノードで同期されないファイルシステムの問題。

  • .magento.env.yaml または config.php ファイルの設定が正しくありません。

    • SCD on Build を有効にするには、アセットの縮小設定を app/etc/config.php に保存する必要があります。
    • SCD 設定( 環境変数を参照)が、.magento.env.yaml ファイルの正しいステージで設定または追加されません。

解決策 resolution

この問題を解決するには:

  1. まず、影響を受けるアセットのファイル権限を確認して、web サーバーからアクセスできるようにします。

    1. 各 web ノードに SSH で接続し、アセットがすべての web ノードに存在するかどうかを確認します。 (注意 : 分割されていないアーキテクチャでは、ノードは 3 つのみです。 分割アーキテクチャでは、最初の 3 つのノードはサービスノードですが、それ以外のノードが存在する場合もあります)。 ノード X の場合:magento-cloud ssh -p <cluster_id> -I X
    2. ノード X に移動したら、次のコマンドを実行して、権限を確認します。ls -la pub/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js 注意 : コマンドのファイル名を、404 エラーを返す実際のアセット名に置き換えます。
    3. ファイルが一部のノードにのみ存在し、他のノードには存在しない場合は、 連絡先理由インフラストラクチャインシデント に設定してサポートリクエストを送信します。
  2. 次に、すべてのノードにファイルが存在しない場合は、.magento.env.yaml ファイルと app/etc/config.php ファイルが現在の環境に対して正しく設定されていることを確認します。

    1. 任意の web ノードで、最初に次のコマンドを実行します。vendor/bin/ece-tools wizard:scd-on-build

    2. 上記のコマンドで SCD on build is enabled が返された場合は、次のコマンドを実行して、アセットの縮小設定が有効になっていることを確認します:grep -r minify_files app/etc/*.php。 (注意 : コマンドのファイル名を、404 エラーを返す実際のアセット名に置き換えます。 コマンドがローを返さない場合は、縮小が無効であることを意味します。 値が 0 の場合は項目が無効であり、1 の場合は有効です。

    3. 返される行がない場合:

      • config:dump コマンドを実行して、縮小設定を app/etc/config.php に保存します(ビルド時の SCD の設定を参照)。
      • それをリポジトリにコミットします。
      • インスタンスを再デプロイします。
    4. アセットの縮小設定のいずれかの値が 0 の場合、縮小する必要があります。

      • app/etc/config.php の値を 1 に更新します。
      • それをリポジトリにコミットします。
      • インスタンスを再デプロイします。
    5. .magento.env.yaml ファイルをチェックし、適切なステージの SCD 環境変数を追加していることを確認します。

      • ビルドの SCD: ビルド変数は、build: ステージの下に配置する必要があります。
      • デプロイ時の SCD: Deploy 変数は、deploy: ステージの下に配置する必要があります。
      • 適切なステージで変数が追加されたことを確認した後、ファイルをリポジトリにコミットし、インスタンスを再デプロイします。
  3. 最後に、調整を行った後、影響を受ける URL へのアクセスをテストします。

これらの手順を実行した後も問題が解決しない場合は、Adobe サポートにお問い合わせください。サーバーログや追加の設定についてさらに調査が必要になる場合があるたです。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f