変数のデプロイ

次の​ デプロイ ​変数は、デプロイフェーズのアクションを制御し、​ グローバル変数から値を継承して上書きできます。 これらの変数を.magento.env.yaml ファイルのdeploy ステージに挿入します。

stage:
  deploy:
    DEPLOY_VARIABLE_NAME: value

ビルドおよびデプロイプロセスのカスタマイズについて詳しくは、次を参照してください。

CACHE_CONFIGURATION

  • 既定設定なし

デプロイメント中に生成されたキャッシュフロントエンドとバックエンドオプションを結合または上書きするには、CACHE_CONFIGURATIONを使用します。

クラウドインフラストラクチャ上のAdobe Commerceの場合、app/etc/env.phpを直接編集しないでください。 ece-tools パッケージは、.magento.env.yaml、サービス関係、サポートされているデプロイメント変数からデプロイメント設定を生成します。

VALKEY_BACKENDまたはREDIS_BACKENDを使用して、サポートされているキャッシュまたはL2の実装を正確なAdobe Commerce リリースに合わせて選択します。 CACHE_CONFIGURATIONを使用して、接続再試行、読み取りタイムアウト、キャッシュ プレフィックス、プリロード キーなどのオプションをカスタマイズします。

サポートされるバックエンドとキャッシュサービスの組み合わせは、Commerceのリリースとパッチレベルによって異なります。 Redisは、Adobe Commerce 2.4.9または2.4.5-p16、2.4.6-p14、2.4.7-p9、および2.4.8-p4以降のパッチリリースではサポートされていません。 Valkeyは、​ システム要件が必要とするリリースに使用します。

NOTE
RedisおよびValkey サービス設定ガイダンスの詳細については、ValkeyおよびRedis サービス設定のベストプラクティス ​を参照してください

デフォルトでは、デプロイメントプロセスによって、対応するキャッシュ設定が上書きされます。 指定された値を生成された設定と結合するには、_mergetrueに設定します。

stage:
  deploy:
    CACHE_CONFIGURATION:
      _merge: true
      frontend:
        default:
          backend_options:
            connect_retries: 3
          remote_backend_options:
            read_timeout: 10

既存の設定をCACHE_CONFIGURATIONで指定された値に置き換えるには、_mergefalseに設定します。

IMPORTANT
cm_cache_backend_redisなどのオンプレミス bin/magento setup:config:set オプションをCACHE_CONFIGURATIONに直接コピーしないでください。 クラウドプロジェクトでは、ece-toolsは設定された関係からサービス接続の詳細を取得します。 選択したCommerce リリースとキャッシュの実装に記載されている構造を使用します。

次の例では、データベース割り当てを既存のキャッシュ設定にマージします。 このタイプの上書きは、選択したバックエンドとCommerce リリースでサポートされている場合にのみ使用します。 現在のSymfony L2 ドキュメントがこのオプションを明示的にサポートしている場合にのみ、フロントエンド設定をsymfony_l2に適用します。

stage:
  deploy:
    CACHE_CONFIGURATION:
      _merge: true
      frontend:
        default:
          backend_options:
            database: 10
        page_cache:
          backend_options:
            database: 11

次の例では、設定ガイド​で定義されているRedis プリロード機能を使用しています。 Valkeyを使用するリリースには、対応するValkey ガイダンスを使用します。

stage:
  deploy:
    CACHE_CONFIGURATION:
      _merge: true
      frontend:
        default:
          id_prefix: '061_'
          backend_options:
            preload_keys:
              - '061_EAV_ENTITY_TYPES:hash'
              - '061_GLOBAL_PLUGIN_LIST:hash'
              - '061_DB_IS_UP_TO_DATE:hash'
              - '061_SYSTEM_DEFAULT:hash'

許可リストにないカスタム REDIS_BACKEND モデルを使用するには、適切な検証がece-toolsによって適用されるように_custom_redis_backendからtrueに設定します。

stage:
  deploy:
    CACHE_CONFIGURATION:
      frontend:
        default:
          _custom_redis_backend: true
          backend: '\CustomRedisModel'

CLEAN_STATIC_FILES

  • Defaulttrue

ビルドまたはデプロイのフェーズで生成された静的コンテンツファイル ​のクリーニングを有効または無効にします。 開発時のデフォルト値​ true ​をベストプラクティスとして使用します。

  • true – 更新された静的コンテンツをデプロイする前に、既存のすべての静的コンテンツを削除します。
  • false – 生成されたコンテンツに新しいバージョンが含まれている場合にのみ、デプロイメントは既存の静的コンテンツファイルを上書きします。

別のプロセスで静的コンテンツを変更する場合は、値を​ false ​に設定します。

stage:
  deploy:
    CLEAN_STATIC_FILES: false

デプロイ前に静的ビューファイルをクリーンアップしないと、以前のバージョンを削除せずに既存のファイルにアップデートをデプロイすると問題が発生する可能性があります。 静的ファイルのフォールバック ​ ルールにより、ディレクトリに同じファイルの複数のバージョンが含まれている場合、フォールバック操作で間違ったファイルが表示される可能性があります。

CRON_CONSUMERS_RUNNER

  • Defaultcron_run = false, max_messages = 1000

この環境変数を使用して、デプロイメント後にメッセージキューが実行されていることを確認します。

  • cron_run - consumers_runner cron ジョブを有効または無効にするブール値。 デフォルトはfalseです。
  • max_messages – 終了する前に各コンシューマーが処理するメッセージの最大数。 デフォルトは1000です。 コンシューマーが終了しないようにするには、コンシューマーを0に設定します。
  • consumers – 実行するコンシューマーの名前を指定する文字列の配列。 空の配列は​ all ​個の消費者を実行します。
  • multiple_processes – 各コンシューマーに対して生成するプロセスの数。 このオプションは、Adobe Commerce 2.4.4以降でサポートされています。
NOTE
使用可能なメッセージキューコンシューマーを一覧表示するには、リモート環境で./bin/magento queue:consumers:list コマンドを実行します。

次の例では、選択した消費者を実行し、各消費者に対して複数のプロセスを開始します。

stage:
  deploy:
    CRON_CONSUMERS_RUNNER:
      cron_run: true
      max_messages: 1000
      consumers:
       example_consumer_1
       example_consumer_2
      multiple_processes:
        example_consumer_1: 4
        example_consumer_2: 3

次の例では、すべてのコンシューマーを実行します。

stage:
  deploy:
    CRON_CONSUMERS_RUNNER:
      cron_run: true
      max_messages: 1000
      consumers: []

デフォルトでは、デプロイメントプロセスはenv.php ファイル内の対応する設定を上書きします。 オンプレミス Adobe Commerceについては、Commerce設定ガイド​の「​ メッセージキューの管理」を参照してください。

CONSUMERS_WAIT_FOR_MAX_MESSAGES

  • Defaultfalse

次のいずれかのオプションを選択して、consumersがメッセージキューからのメッセージを処理する方法を設定します。

  • falseConsumersは、CRON_CONSUMERS_RUNNER デプロイ変数で指定されたmax_messages制限に関係なく、使用可能なメッセージを処理し、TCP接続を閉じて終了します。

  • trueConsumersは、TCP接続を閉じてコンシューマープロセスを終了する前に、CRON_CONSUMERS_RUNNER デプロイ変数で指定されたメッセージの最大数(max_messages)に達するまで、メッセージキューからのメッセージを処理し続けます。 キューがmax_messagesに到達する前に空になった場合、消費者はより多くのメッセージが到着するのを待ちます。

WARNING
cron ジョブを使用する代わりにconsumersを実行するためにワーカーを使用する場合は、この変数をtrueに設定します。
stage:
  deploy:
    CONSUMERS_WAIT_FOR_MAX_MESSAGES: false

CRYPT_KEY

  • 既定設定なし
WARNING
ソースコード リポジトリでキーを公開しないようにするには、.magento.env.yaml ファイルではなくCloud Consoleを通じてCRYPT_KEY値を設定します。 環境とプロジェクト変数の設定を参照してください。

インストールプロセスなしでデータベースを環境から別の環境に移動する場合は、対応する暗号化情報が必要です。 Adobe Commerceは、Cloud Consoleで設定された暗号化キーの値をenv.php ファイルのcrypt/key値として使用します。

DATABASE_CONFIGURATION

  • 既定設定なし

.magento.app.yaml ファイルの関係プロパティ ​でデータベースを定義した場合、デプロイメント用にデータベース接続をカスタマイズできます。

stage:
  deploy:
    DATABASE_CONFIGURATION:
      some_config: 'some_value'

デフォルトでは、デプロイメントプロセスはenv.php ファイル内のすべての設定を上書きしますが、すべての値を上書きすることなく、サービス設定の1つ以上の値を結合することを選択できます。

_merge オプションを次のいずれかに設定します。

  • true設定されたサービス値を環境変数の値と結合
  • false設定されたサービス値を環境変数の値で​上書きします。

次の例では、新しい値を既存の設定にマージします。

stage:
  deploy:
    DATABASE_CONFIGURATION:
      some_config: 'some_new_value'
      _merge: true

また、テーブルの接頭辞を設定することもできます。

WARNING
テーブルのプレフィックスで結合オプションを使用しない場合は、デフォルトの接続設定を指定する必要があります。そうしないと、デプロイで検証が失敗します。

次の例では、_merge オプションではなく、デフォルトの接続設定でece_ テーブルのプレフィックスを使用しています。

stage:
  deploy:
    DATABASE_CONFIGURATION:
      connection:
        default:
          username: user
          host: host
          dbname: magento
          password: password
      table_prefix: 'ece_'

出力サンプル:

MariaDB [main]> SHOW TABLES;
+-------------------------------------+
| Tables_in_main                      |
+-------------------------------------+
| ece_admin_passwords                 |
| ece_admin_system_messages           |
| ece_admin_user                      |
| ece_admin_user_session              |
| ece_adminnotification_inbox         |
| ece_amazon_customer                 |
| ece_authorization_rule              |
| ece_cache                           |
| ece_cache_tag                       |
| ece_captcha_log                     |
...

ELASTICSUITE_CONFIGURATION

  • 既定設定なし

デプロイメント間でカスタマイズされたElastic Suite サービス設定を保持し、メインのElastic Suite設定の「system/default/smile_elasticsuite_core_base_settings」セクションで使用します。 Elastic Suite コンポーザーパッケージがインストールされている場合は、自動的に設定されます。

stage:
  deploy:
    ELASTICSUITE_CONFIGURATION:
      es_client:
        servers: 'remote-host:9200'
      indices_settings:
        number_of_shards: 1
        number_of_replicas: 0
NOTE
3つのノード(Scaled Architecture上の3つのサービスノード)を持つPro ステージング/実稼動クラスターでは、indices_settingsを次のように設定する必要があります。
code language-yaml
          indices_settings:
                  number_of_shards: 1
                  number_of_replicas: 2

デフォルトでは、デプロイメントプロセスはenv.php ファイル内のすべての設定を上書きしますが、すべての値を上書きすることなく、サービス設定の1つ以上の値を結合することを選択できます。

_merge オプションを次のいずれかに設定します。

  • true設定されたサービス値を環境変数の値と結合
  • false設定されたサービス値を環境変数の値で​上書きします。

次の例では、新しい値を既存の設定にマージします。

stage:
  deploy:
    ELASTICSUITE_CONFIGURATION:
      indices_settings:
        number_of_shards: 1
        number_of_replicas: 2
      _merge: true

既知の制限事項:

  • 検索エンジンをelasticsuite以外の種類に変更すると、デプロイ失敗が発生し、適切な検証エラーが発生します
  • Elasticsearch サービスを削除すると、デプロイに失敗し、適切な検証エラーが発生します
NOTE
Adobe CommerceでのElastic Suite プラグインの使用またはトラブルシューティングについて詳しくは、Elastic Suite ドキュメント ​を参照してください。

ENABLE_GOOGLE_ANALYTICS

  • Defaultfalse

ステージング環境と統合環境にデプロイする際に、Google Analyticsを有効または無効にします。 デフォルトでは、Google Analyticsは実稼動環境に対してのみtrueです。 ステージング環境と統合環境でGoogle Analyticsを有効にするには、この値をtrueに設定します。

  • true - ステージング環境と統合環境でGoogle Analyticsを有効にします。
  • false - ステージング環境と統合環境でGoogle Analyticsを無効にします。

ENABLE_GOOGLE_ANALYTICS環境変数を.magento.env.yaml ファイルのdeploy ステージに追加します。

stage:
  deploy:
    ENABLE_GOOGLE_ANALYTICS: true
NOTE
デプロイプロセスは、実稼動環境でGoogle Analyticsを常に有効にします。

FORCE_UPDATE_URLS

  • Defaulttrue

Proまたはスターターステージングおよび実稼動環境へのデプロイメント時に、この変数は、データベース内のAdobe Commerce ベース URLを、MAGENTO_CLOUD_ROUTES変数で指定されたプロジェクト URLに置き換えます。 UPDATE_URLS デプロイ変数のデフォルトの動作を上書きするには、この設定を使用します。

stage:
  deploy:
    FORCE_UPDATE_URLS: true

LOCK_PROVIDER

  • Default – 実稼動環境およびステージング環境では、デフォルトはfileで、変更できません。 Pro統合およびスターター環境の場合、デフォルトはdbです。

ロックプロバイダーは、重複するcron ジョブとcron グループの実行を禁止します。 Adobe Commerce on Cloudでは、fileおよびdb ロックプロバイダーをサポートしています。

Pro ステージング環境および実稼動環境では、MAGENTO_CLOUD_LOCKS_DIRfile プロバイダーを設定します。 この設定は上書きできません。 Pro統合環境およびスターター環境では、ece-toolsはデフォルトでdb プロバイダーを設定します。 ローカル パフォーマンスを最適化し、実稼動アーキテクチャをミラーリングするには、これらの環境でプロバイダーをfileに設定します。

stage:
  deploy:
    LOCK_PROVIDER: 'file'

MYSQL_USE_SLAVE_CONNECTION

  • Defaultfalse
TIP
MYSQL_USE_SLAVE_CONNECTION変数は、クラウドインフラストラクチャのステージングおよびProduction Pro クラスター上のAdobe Commerceでのみサポートされています。 スタータープロジェクトではサポートされていません。

Adobe Commerceは、複数のデータベースを非同期で読み取ることができます。 データベースへの​ 読み取り専用 ​接続を自動的に使用して、非マスターノードで読み取り専用トラフィックを受信するには、trueに設定します。 1つのノードのみが読み取りと書き込みのトラフィックを処理するため、負荷分散によってパフォーマンスが向上します。 既存の読み取り専用の接続配列をenv.php ファイルから削除するには、falseに設定します。

stage:
  deploy:
    MYSQL_USE_SLAVE_CONNECTION: true

MYSQL_USE_SLAVE_CONNECTION変数がtrueに設定されている場合、システムはPro ステージング環境および実稼動環境のenv.php ファイルで、デフォルトでsynchronous_replication パラメーターをtrueに設定します。 MYSQL_USE_SLAVE_CONNECTIONfalseに設定されている場合、synchronous_replication パラメーターは設定されていません。

QUEUE_CONFIGURATION

  • 既定設定なし

この環境変数を使用して、デプロイメント間でカスタマイズされたキューサービス設定を保持します。 この変数は、AMQP (RabbitMQの場合)とSTOMP (ActiveMQ Artemisの場合)の両方のプロトコルをサポートします。 例えば、クラウドインフラストラクチャに依存せずに既存のメッセージキューサービスを使用して作成する場合は、QUEUE_CONFIGURATION環境変数を使用してサイトに接続します。

stage:
  deploy:
    QUEUE_CONFIGURATION:
      amqp:
        host: test.host
        port: 1234
      amqp2:
        host: test.host2
        port: 12345
      mq:
        host: mq.host
        port: 1234

STOMP プロトコルを使用するActiveMQ Artemisの場合:

stage:
  deploy:
    QUEUE_CONFIGURATION:
      stomp:
        host: activemq.host
        port: 61616
        user: username
        password: password

デフォルトでは、デプロイメントプロセスはenv.php ファイル内のすべての設定を上書きしますが、すべての値を上書きすることなく、サービス設定の1つ以上の値を結合することを選択できます。

_merge オプションを次のいずれかに設定します。

  • true設定されたサービス値を環境変数の値と結合
  • false設定されたサービス値を環境変数の値で​上書きします。

次の例では、新しい値を既存の設定にマージします。

stage:
  deploy:
    QUEUE_CONFIGURATION:
      _merge: true
      amqp:
        host: changed1.host
        port: 5672
      amqp2:
        host: changed2.host2
        port: 12345
      mq:
        host: changedmq.host
        port: 1234

REDIS_BACKEND

  • DefaultCm_Cache_Backend_Redis

Redis キャッシュのバックエンドモデル設定を指定します。

Redis キャッシュは、Adobe Commerce 2.4.9または2.4.5-p16、2.4.6-p14、2.4.7-p9、および2.4.8-p4以降のパッチリリースではサポートされていません。 これらのリリースでは、Valkeyと対応するVALKEY_BACKEND設定を使用します。 必要システム構成で、サポートされているキャッシュ サービスを常に確認してください。

Redisがサポートするリリースの場合、使用可能なバックエンドモデルには次のものが含まれます。

  • Cm_Cache_Backend_Redis
  • \Magento\Framework\Cache\Backend\Redis
  • \Magento\Framework\Cache\Backend\RemoteSynchronizedCache

次の例では、リモート同期キャッシュ バックエンドとL2 キャッシュを有効にします。

stage:
  deploy:
    REDIS_BACKEND: '\Magento\Framework\Cache\Backend\RemoteSynchronizedCache'
NOTE
\Magento\Framework\Cache\Backend\RemoteSynchronizedCacheが選択されると、ece-toolsはL2 キャッシュ設定を自動的に生成します。 生成された設定をカスタマイズするには、CACHE_CONFIGURATIONを使用します。

REDIS_USE_SLAVE_CONNECTION

  • Defaultfalse
TIP
REDIS_USE_SLAVE_CONNECTIONは、Cloud StagingおよびProduction Pro クラスター上のAdobe Commerceでのみサポートされています。 スタータープロジェクトではサポートされていません。

Adobe Commerceは、複数のRedis インスタンスを非同期で読み取ることができます。 この変数をtrueに設定すると、プライマリインスタンスが読み取り/書き込みトラフィックを処理する間に、Redis レプリカへの読み取り専用接続を使用できます。 既存の読み取り専用の接続配列をenv.phpから削除するには、それをfalseに設定します。

stage:
  deploy:
    REDIS_USE_SLAVE_CONNECTION: true

.magento.app.yamlおよびservices.yaml ファイルにRedis サービスを設定しておく必要があります。

ECE-Tools バージョン 2002.0.18以降では、より多くのフォールトトレラント設定が使用されます。 Adobe CommerceがRedis レプリカからデータを読み取れない場合は、Redis プライマリインスタンスにフォールバックします。

読み取り専用の接続は、統合環境では使用できません。 CACHE_CONFIGURATIONを使用する場合は、変更を生成された設定にマージし、結果の設定がレプリカ接続を保持することを確認します。

VALKEY_BACKEND

  • DefaultCm_Cache_Backend_Redis
  • バージョン - ValkeyをサポートするAdobe Commerce リリース

VALKEY_BACKENDは、Valkey キャッシュ設定のバックエンド モデルを指定します。 デフォルト値では、従来のRedis互換クラス名が使用されます。これは、サービスがRedisである必要があることを意味するものではありません。

Valkeyをサポートする2.4.9より前のAdobe Commerce バージョンの場合、バックエンドモデルには次のものが含まれます。

  • Cm_Cache_Backend_Redis
  • \Magento\Framework\Cache\Backend\Redis
  • \Magento\Framework\Cache\Backend\RemoteSynchronizedCache

Adobe Commerce 2.4.9以降では、Symfony Cache ベースのL2実装であるsymfony_l2もサポートしています。 symfony_l2はValkeyでのみサポートされています。

リモート同期キャッシュの設定

Adobe Commerce 2.4.8の場合、リモート同期キャッシュの実装が適切な場合は、次の設定を使用します。

stage:
  deploy:
    VALKEY_BACKEND: '\Magento\Framework\Cache\Backend\RemoteSynchronizedCache'

リモート同期バックエンドを指定すると、L2 キャッシュが有効になり、ece-toolsはキャッシュ設定を自動的に生成します。 設定ファイルの例を参照してください。 生成された設定をカスタマイズするには、CACHE_CONFIGURATIONを使用します。

最新のSymfony L2 キャッシュ実装の設定

Adobe Commerce 2.4.9以降では、Symfony L2の実装を使用します。

stage:
  deploy:
    VALKEY_BACKEND: 'symfony_l2'

Valkey バックエンドモデルとしてsymfony_l2を指定すると、L2 キャッシュが有効になり、ece-toolsは、defaultおよびstale_cache_enabled フロントエンドを含むValkey サービス接続の詳細からL2 キャッシュ設定を自動的に生成します。 ローカル キャッシュ ディレクトリなど、サポートされているバックエンド オプションをカスタマイズする必要がある場合にのみ、CACHE_CONFIGURATIONを定義します。 Adobe Commerce Configuration Guide​のSymfony L2 cache implementationを参照してください。

NOTE
Adobe Commerce 2.4.9には、キャッシュ・タグ・ストレージ、無効化、圧縮などのSymfony L2 キャッシュの機能強化が含まれており、ACP2E-5132 パッチの適用、ディスク I/Oの削減、古いキャッシュ・エントリの排除、メモリとネットワークのオーバーヘッドの削減が実現されています。

VALKEY_USE_SLAVE_CONNECTION

  • Defaultfalse
  • バージョン - Adobe Commerce 2.4.8以降
TIP
VALKEY_USE_SLAVE_CONNECTIONは、Cloud StagingおよびProduction Pro クラスター上のAdobe Commerceでのみサポートされています。 スタータープロジェクトではサポートされていません。

Adobe Commerceは、複数のValkey インスタンスを非同期で読み取ることができます。 プライマリインスタンスが読み取り/書き込みトラフィックを処理する間、VALKEY_USE_SLAVE_CONNECTIONtrueに設定して、Valkey レプリカへの​ 読み取り専用 ​接続を読み取り専用トラフィックに使用します。 1つのノードのみが読み取りと書き込みのトラフィックを処理するため、負荷分散によってパフォーマンスが向上します。 既存の読み取り専用の接続配列をenv.phpから削除するには、それをfalseに設定します。

stage:
  deploy:
    VALKEY_USE_SLAVE_CONNECTION: true

Valkey サービスを.magento.app.yamlおよび.magento/services.yamlに設定する必要があります。 レプリカ接続を使用できるかどうかは、プロジェクト トポロジとインストールされているece-tools バージョンによって異なります。

この設定に依存する前に、デコードされたMAGENTO_CLOUD_RELATIONSHIPS値を調べ、レプリカ関係が存在することを確認します。 例:

echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp

symfony_l2の場合、レプリカのサポートには、関連するece-toolsとCloud Patchesの更新が必要です。 この設定を有効にする前に、最新のece-tools バージョンに更新してください。 再デプロイメント後にレプリカリレーションシップが存在しない場合は、Adobe Commerce サポートにお問い合わせください。

CACHE_CONFIGURATIONを使用する場合、生成された接続構造を置き換える代わりに、生成された構成にサポートされている上書きを結合します。

RESOURCE_CONFIGURATION

  • Default – 未設定

リソース名をデータベース接続にマッピングします。 この設定は、env.php ファイルのresource セクションに対応しています。

デフォルトでは、デプロイメントプロセスはenv.php ファイル内のすべての設定を上書きしますが、すべての値を上書きすることなく、サービス設定の1つ以上の値を結合することを選択できます。

_merge オプションを次のいずれかに設定します。

  • true設定されたサービス値を環境変数の値と結合
  • false設定されたサービス値を環境変数の値で​上書きします。

次の例では、新しい値を既存の設定にマージします。

stage:
  deploy:
    RESOURCE_CONFIGURATION:
      _merge: true
      default_setup:
        connection: default

SCD_COMPRESSION_LEVEL

  • Default4

静的コンテンツを圧縮する際に使用するgzip圧縮レベル (09)を指定します。 圧縮を無効にするには、0に設定します。

stage:
  deploy:
    SCD_COMPRESSION_LEVEL: 5

SCD_COMPRESSION_TIMEOUT

  • Default600

静的アセットの圧縮にかかる時間が圧縮タイムアウトの制限を超えると、デプロイメントプロセスが中断されます。 静的コンテンツ圧縮コマンドの最大実行時間を秒単位で設定します。

stage:
  deploy:
    SCD_COMPRESSION_TIMEOUT: 800

SCD_MATRIX

  • 既定設定なし

テーマごとに複数のロケールを設定できます。 このカスタマイズにより、不要なテーマファイルの数を減らすことで、デプロイメントプロセスが高速化されます。 例えば、magento/backend テーマを英語でデプロイし、カスタムテーマを他の言語でデプロイできます。

次の例では、3つのロケールを持つMagento/backend テーマをデプロイします。

stage:
  deploy:
    SCD_MATRIX:
      "magento/backend":
        language:
          - en_US
          - fr_FR
          - af_ZA

また、テーマを​not デプロイするように選択できます。

stage:
  deploy:
    SCD_MATRIX:
      "magento/backend": [ ]

SCD_MAX_EXECUTION_TIME

  • 既定設定なし

静的コンテンツのデプロイメントで想定される最大実行時間を増やすことができます。

デフォルトでは、Adobe Commerceは想定される最大実行時間を900秒に設定しますが、一部のシナリオでは、Cloud プロジェクトの静的コンテンツのデプロイメントを完了するのに多くの時間が必要です。

stage:
  deploy:
    SCD_MAX_EXECUTION_TIME: 3600
WARNING
カスタムテーマファイルが見つからないなど、デプロイメント後にアプリケーションの静的コンテンツファイルに問題が発生した場合は、想定される最大実行時間を900秒以上に増やします。

SCD_NO_PARENT

  • Defaultfalse

展開フェーズで、親テーマの静的コンテンツの生成が展開フェーズ中に発生しないようにSCD_NO_PARENT: trueを設定します。 この設定により、デプロイメント時間が最小限に抑えられ、デプロイメント中に静的コンテンツのビルドに失敗した場合に発生する可能性のあるサイトのダウンタイムが回避されます。 静的コンテンツ展開を参照してください。

stage:
  deploy:
    SCD_NO_PARENT: true

SCD_STRATEGY

  • Defaultquick

静的コンテンツの​ デプロイメント戦略をカスタマイズできます。 静的ビューファイルのデプロイ ​を参照してください。

複数のロケールがある場合は、次のオプション のみ​を使用します。

  • standard – すべてのパッケージのすべての静的ビューファイルをデプロイします。
  • quick – (default)は、デプロイメント時間を最小限に抑えます。
  • compact - サーバー上のディスク領域を節約します。
stage:
  deploy:
    SCD_STRATEGY: "compact"

SCD_THREADS

  • Default – 自動

静的コンテンツのデプロイメント用のスレッド数を設定します。 デフォルト値は、検出されたCPU スレッド数に基づいて設定され、値4を超えることはありません。 スレッド数を増やすと、静的コンテンツのデプロイメントが高速化されます。 スレッドの数を減らすと、速度が低下します。 スレッドの値を設定できます。例:

stage:
  deploy:
    SCD_THREADS: 2

デプロイメントの時間をさらに短縮するには、scd-dump コマンドで構成管理を使用して、静的デプロイメントをビルド フェーズに移動します。

SEARCH_CONFIGURATION

  • 既定設定なし

この環境変数を使用して、デプロイメント間でカスタマイズされた検索サービス設定を保持します。 例:

Elasticsearch設定:

stage:
  deploy:
    SEARCH_CONFIGURATION:
      engine: elasticsearch
      elasticsearch_server_hostname: http://elasticsearch.internal
      elasticsearch_server_port: '9200'
      elasticsearch_index_prefix: magento2
      elasticsearch_server_timeout: '15'

OpenSearch設定(Commerce 2.4.6以降):

stage:
  deploy:
    SEARCH_CONFIGURATION:
      engine: opensearch
      opensearch_server_hostname: 'http://opensearch.internal'
      opensearch_server_port: '9200'
      opensearch_index_prefix: 'magento2'
      opensearch_server_timeout: '15'

デフォルトでは、デプロイメントプロセスはenv.php ファイル内のすべての設定を上書きしますが、すべての値を上書きすることなく、サービス設定の1つ以上の値を結合することを選択できます。

_merge オプションを次のいずれかに設定します。

  • true設定されたサービス値を環境変数の値と結合
  • false設定されたサービス値を環境変数の値で​上書きします。

次の例では、新しい値を既存の設定にマージします。

stage:
  deploy:
    SEARCH_CONFIGURATION:
      engine: elasticsearch
      elasticsearch_server_port: '9200'
      _merge: true

SESSION_CONFIGURATION

  • 既定設定なし

SESSION_CONFIGURATIONを使用してセッション ストレージを構成します。 以下の例では、Redis互換のセッション構成構造を使用しています。 正確なCommerce リリースでサポートされているセッションストレージの命名とサービスの組み合わせでのみ使用します。 Valkey-backed セッションの場合は、Valkey セッションストレージの例に従います。

VALKEY_BACKENDREDIS_BACKENDなどのキャッシュ変数がセッションを構成していると仮定しないでください。 キャッシュとセッションの設定は独立しています。 クラウドプロジェクトでは、可能な場合はサービス関係と生成された設定を使用します。環境に固有の値をハードコードしないでください。例えば、ホストとポートを置き換えます。

stage:
  deploy:
    SESSION_CONFIGURATION:
      redis:
        bot_first_lifetime: 100
        bot_lifetime: 10001
        database: 0
        disable_locking: 1
        host: 'redis.internal'
        max_concurrency: 10
        max_lifetime: 10001
        min_lifetime: 100
        port: 6379
      save: redis

デプロイメント設定で明示的な接続の詳細が必要な場合は、redis.internal6379をターゲット環境のセッションサービスのホストとポートに置き換えます。

デフォルトでは、デプロイメントプロセスはenv.php ファイル内のすべての設定を上書きしますが、すべての値を上書きすることなく、サービス設定の1つ以上の値を結合することを選択できます。

_merge オプションを次のいずれかに設定します。

  • true設定されたサービス値を環境変数の値と結合
  • false設定されたサービス値を環境変数の値で​上書きします。

次の例では、新しい値を既存の設定にマージします。

stage:
  deploy:
    SESSION_CONFIGURATION:
      _merge: true
      redis:
        max_concurrency: 10

SKIP_SCD

  • Default設定なし

デプロイメントフェーズ中に静的コンテンツのデプロイメントをスキップするには、trueに設定します。

デプロイフェーズで、デプロイフェーズ中に静的コンテンツのビルドが発生しないようにSKIP_SCD: trueを設定します。 この設定により、デプロイメント時間が最小限に抑えられ、デプロイメント中に静的コンテンツのビルドに失敗した場合に発生する可能性のあるサイトのダウンタイムが回避されます。 静的コンテンツ展開を参照してください。

stage:
  deploy:
    SKIP_SCD: true

UPDATE_URLS

  • Defaulttrue

デプロイメント時に、データベース内のAdobe Commerce ベース URLを、MAGENTO_CLOUD_ROUTES変数で指定されたプロジェクト URLに置き換えます。 この設定は、ベース URLがローカル環境に設定されているローカル開発に役立ちます。 クラウド環境にデプロイすると、URLが更新され、プロジェクト URLを使用してストアフロントと管理者にアクセスできるようになります。

Proまたはスターターステージングおよび実稼動環境にデプロイする際にURLを更新する必要がある場合は、FORCE_UPDATE_URLS変数を使用します。

stage:
  deploy:
    UPDATE_URLS: false

USE_LUA

  • Defaultfalse
  • バージョン - Adobe Commerce 2.4.7以降

デフォルトのキャッシュフロントエンドのenv.phpuse_lua キャッシュバックエンドオプションを制御します(symfony_l2 バックエンドを使用する場合は、stale_cache_enabled フロントエンドのリモートバックエンドオプション)。 このオプションはpage_cache フロントエンドには適用されません。

Adobe サポートが明示的に指示しない限り、デフォルト値falseを使用します。

stage:
  deploy:
    USE_LUA: false
WARNING
Adobe Commerce 2.4.7および2.4.8では、USE_LUA: trueを設定すると、キャッシュが破損し、GraphQLのキャッシュミスの問題が発生する可能性があります。
Adobe Commerce 2.4.9以降では、Commerce バージョンにValkey キャッシュ設定ガイダンスを使用し、新しいデプロイメントにUSE_LUAを使用しないでください。

LUA_KEY

LUA_KEY変数は非推奨です。 LUA_KEY.magento.env.yamlに含まれている場合は、移行時に削除します。 代わりにUSE_LUA変数とUSE_LUA_ON_GC変数を使用してください。

USE_LUA_ON_GC

  • Defaulttrue
  • バージョン - Adobe Commerce 2.4.8以降

デフォルトのキャッシュフロントエンドのenv.phpuse_lua_on_gc キャッシュバックエンドオプションを制御します(および、symfony_l2 バックエンドを使用する場合は、stale_cache_enabled フロントエンドのリモートバックエンドオプション)。 このオプションはpage_cache フロントエンドには適用されません。

backend_clean_cache cron ジョブ中にアトミックキャッシュタグのクリーンアップを保持するには、デフォルト値trueを使用します。

stage:
  deploy:
    USE_LUA_ON_GC: true
WARNING
Adobe Commerce 2.4.8では、USE_LUA_ON_GC: falseを設定すると、タグベースのキャッシュ無効化がサイレントで失敗し、完全なキャッシュのフラッシュが必要になる場合があります。
2.4.9以降では、インストールされているバージョンの​ キャッシュサービスガイダンス ​に従います。

VERBOSE_COMMANDS

  • 既定設定なし

デプロイメントフェーズ中に実行されるbin/magento CLI コマンドのSymfony デバッグの冗長性レベルを有効または無効にします。

NOTE
VERBOSE_COMMANDS設定を使用して、成功したCLI コマンドと失敗したbin/magento CLI コマンドの両方のコマンド出力の詳細を制御するには、MIN_LOGGING_LEVEL debugを設定する必要があります。

ログに記載されている詳細レベルを選択します。

  • -v=通常の出力
  • -vv=より詳細な出力
  • -vvv = デバッグに最適な詳細な出力
stage:
  deploy:
    VERBOSE_COMMANDS: "-vv"
recommendation-more-help
commerce-on-cloud-help-cloud-guide