部署变量

以下​ 部署 ​变量在部署阶段控制操作,可以继承和覆盖来自全局变量的值。 在.magento.env.yaml文件的deploy阶段中插入这些变量:

stage:
  deploy:
    DEPLOY_VARIABLE_NAME: value

有关自定义生成和部署过程的详细信息:

CACHE_CONFIGURATION

  • 默认值未设置

使用CACHE_CONFIGURATION合并或覆盖部署期间生成的缓存前端和后端选项。

对于云基础架构上的Adobe Commerce,请勿直接编辑app/etc/env.phpece-tools包从.magento.env.yaml、服务关系和支持的部署变量生成部署配置。

使用VALKEY_BACKENDREDIS_BACKEND为确切的Adobe Commerce版本选择支持的缓存或L2实现。 使用CACHE_CONFIGURATION自定义连接重试、读取超时、缓存前缀或预加载密钥等选项。

支持的后端和缓存服务组合取决于Commerce发行版和修补程序级别。 Adobe Commerce 2.4.9或更高版本的2.4.5-p16、2.4.6-p14、2.4.7-p9和2.4.8-p4修补程序不支持Redis。 对于系统要求所需的版本,请使用Valkey。

NOTE
有关更详细的Redis和Valkey服务配置指导,请参阅Valkey和Redis服务配置的最佳实践

默认情况下,部署过程会覆盖相应的缓存配置。 要将指定的值与生成的配置合并,请将_merge设置为true

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

若要使用CACHE_CONFIGURATION中指定的值替换现有配置,请将_merge设置为false

IMPORTANT
请勿将本地bin/magento setup:config:set选项(如cm_cache_backend_redis)直接复制到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模型,请将_custom_redis_backend设置为true,以便ece-tools应用相应的验证:

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

CLEAN_STATIC_FILES

  • 默认true

启用或禁用清理在生成或部署阶段生成的静态内容文件。 在开发中使用默认值​ true ​作为最佳实践。

  • true — 在部署更新的静态内容之前删除所有现有的静态内容。
  • false — 仅当生成的内容包含较新版本时,部署才会覆盖现有的静态内容文件。

如果您通过单独的进程修改静态内容,则将值设置为​false

stage:
  deploy:
    CLEAN_STATIC_FILES: false

如果在部署之前未能清除静态视图文件,则在未删除先前版本的情况下将更新部署到现有文件时,可能会导致出现问题。 由于静态文件回退规则,如果目录包含同一文件的多个版本,则回退操作可能会显示错误的文件。

CRON_CONSUMERS_RUNNER

  • 默认cron_run = falsemax_messages = 1000

使用此环境变量可确认消息队列在部署后正在运行。

  • cron_run — 一个布尔值,用于启用或禁用consumers_runner cron作业。 默认值为false
  • max_messages — 终止前每个使用者处理的最大消息数。 默认值为1000。 要阻止使用者终止,请将其设置为0
  • consumers — 一个字符串数组,指定要运行的使用者名称。 空数组运行​ 所有 ​使用者。
  • 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

  • 默认false

通过选择以下选项之一,配置consumers处理消息队列中的消息的方式:

  • falseConsumers处理可用消息,关闭TCP连接,然后终止,而不管在CRON_CONSUMERS_RUNNER部署变量中指定了max_messages限制。

  • trueConsumers继续处理来自消息队列的消息,直到达到CRON_CONSUMERS_RUNNER部署变量中指定的最大消息数(max_messages),然后关闭TCP连接并终止使用者进程。 如果队列在到达max_messages之前排空,则使用者将等待更多消息到达。

WARNING
如果使用工作程序运行consumers而不是使用cron作业,则将此变量设置为true。
stage:
  deploy:
    CONSUMERS_WAIT_FOR_MAX_MESSAGES: false

CRYPT_KEY

  • 默认值未设置
WARNING
为避免在源代码存储库中公开密钥,请通过Cloud Console而不是.magento.env.yaml文件设置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文件中的所有设置;但是,您可以选择为服务配置合并一个或多个值而不覆盖所有值。

_merge选项设置为以下选项之一:

  • true将配置的服务值与环境变量值合并
  • false使用环境变量值覆盖配置的服务值

以下示例将新值合并到现有配置:

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

此外,您还可以配置表前缀。

WARNING
如果不将合并选项与表前缀一起使用,则必须提供默认连接设置或部署验证失败。

以下示例使用带有默认连接设置的ece_表前缀,而不是使用_merge选项:

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
在具有三个节点(或缩放架构上的三个服务节点)的Pro暂存/生产群集上,indices_settings应按如下方式进行设置:
code language-yaml
          indices_settings:
                  number_of_shards: 1
                  number_of_replicas: 2

默认情况下,部署进程将覆盖env.php文件中的所有设置;但是,您可以选择为服务配置合并一个或多个值而不覆盖所有值。

_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

  • 默认false

在部署到暂存和集成环境时,启用和禁用Google Analytics。 默认情况下,Google Analytics仅适用于生产环境。 要在暂存环境和集成环境中启用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

  • 默认true

在部署到Pro或Starter Staging and Production环境时,此变量将数据库中的Adobe Commerce基本URL替换为由MAGENTO_CLOUD_ROUTES变量指定的项目URL。 要覆盖UPDATE_URLS部署变量的默认行为,请使用此设置。

stage:
  deploy:
    FORCE_UPDATE_URLS: true

LOCK_PROVIDER

  • 默认值 — 在生产环境和暂存环境中,默认为file,无法更改。 对于Pro集成和入门环境,默认为db

锁定提供程序阻止重复的cron作业和cron组运行。 Cloud上的Adobe Commerce支持filedb锁定提供程序。

在Pro暂存和生产环境中,MAGENTO_CLOUD_LOCKS_DIR配置file提供程序。 无法覆盖此设置。 在Pro Integration and Starter环境中,ece-tools默认设置db提供程序。 要优化本地性能并镜像生产体系结构,请在这些环境中将提供程序设置为file

stage:
  deploy:
    LOCK_PROVIDER: 'file'

MYSQL_USE_SLAVE_CONNECTION

  • 默认false
TIP
仅云基础架构Staging和Production Pro群集上的Adobe Commerce支持MYSQL_USE_SLAVE_CONNECTION变量。 起始项目不支持此功能。

Adobe Commerce可以异步读取多个数据库。 设置为true以自动使用到数据库的​ 只读 ​连接来接收非主节点上的只读通信。 此连接通过负载平衡提高了性能,因为只有一个节点处理读写通信。 要从env.php文件中删除任何现有的只读连接数组,请设置为false

stage:
  deploy:
    MYSQL_USE_SLAVE_CONNECTION: true

MYSQL_USE_SLAVE_CONNECTION变量设置为true时,系统在Pro暂存和生产环境的env.php文件中,默认将synchronous_replication参数设置为true。 当MYSQL_USE_SLAVE_CONNECTION设置为false时,未配置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文件中的所有设置;但是,您可以选择为服务配置合并一个或多个值而不覆盖所有值。

_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

  • 默认Cm_Cache_Backend_Redis

指定Redis缓存的后端模型配置。

Adobe Commerce 2.4.9或更高版本的2.4.5-p16、2.4.6-p14、2.4.7-p9和2.4.8-p4修补程序不支持Redis缓存。 对于这些版本,请使用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

  • 默认false
TIP
仅在Cloud Staging和Production Pro群集上的Adobe Commerce上支持REDIS_USE_SLAVE_CONNECTION。 起始项目不支持此功能。

Adobe Commerce可以异步读取多个Redis实例。 将此变量设置为true可在主实例处理读写通信时,使用到Redis副本的只读连接进行读取通信。 要从env.php中删除现有的只读连接数组,请将其设置为false

stage:
  deploy:
    REDIS_USE_SLAVE_CONNECTION: true

您必须在.magento.app.yamlservices.yaml文件中配置Redis服务

ECE-Tools版本2002.0.18及更高版本使用更多容错设置。 如果Adobe Commerce无法从Redis复制副本中读取数据,则它将回退到Redis主实例。

只读连接在集成环境中不可用。 如果您使用CACHE_CONFIGURATION,请将更改合并到生成的配置中,并验证生成的配置是否保留副本连接。

VALKEY_BACKEND

  • 默认Cm_Cache_Backend_Redis
  • 版本 — 支持Valkey的Adobe Commerce版本

VALKEY_BACKEND指定Valkey缓存配置的后端模型。 默认值使用旧版Redis兼容类名称;这并不意味着服务必须是Redis。

对于低于2.4.9且支持Valkey的Adobe Commerce版本,后端模型包括:

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

Adobe Commerce 2.4.9及更高版本还支持基于Symfony缓存的L2实施symfony_l2。 仅Valkey支持symfony_l2

配置远程同步缓存

对于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'

symfony_l2指定为Valkey后端模型将启用L2缓存,并且ece-tools会根据您的Valkey服务连接详细信息(包括defaultstale_cache_enabled前端)自动生成L2缓存配置。 仅在需要自定义支持的后端选项(如本地缓存目录)时才定义CACHE_CONFIGURATION。 请参阅​ Adobe Commerce配置指南 ​中的Symfony L2缓存实现

NOTE
Adobe Commerce 2.4.9包括Symfony L2缓存改进(包括缓存标记存储、失效和压缩),该改进包括使用修补程序ACP2E-5132,减少磁盘I/O,消除过时的缓存条目,以及减少内存和网络开销。

VALKEY_USE_SLAVE_CONNECTION

  • 默认false
  • 版本—Adobe Commerce 2.4.8及更高版本
TIP
仅在Cloud Staging和Production Pro群集上的Adobe Commerce上支持VALKEY_USE_SLAVE_CONNECTION。 起始项目不支持此功能。

Adobe Commerce可以异步读取多个Valkey实例。 将VALKEY_USE_SLAVE_CONNECTION设置为true可在主实例处理读写通信时,使用到Valkey副本的​ 只读 ​连接进行只读通信。 此连接通过负载平衡提高了性能,因为只有一个节点处理读写通信。 要从env.php中删除现有的只读连接数组,请将其设置为false

stage:
  deploy:
    VALKEY_USE_SLAVE_CONNECTION: true

您必须在.magento.app.yaml.magento/services.yaml中配置Valkey服务。 副本连接是否可用取决于项目拓扑和安装的ece-tools版本。

在依赖此设置之前,检查已解码的MAGENTO_CLOUD_RELATIONSHIPS值,并确认存在副本关系。 例如:

echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp

对于symfony_l2,副本支持需要相关的ece-tools和云修补程序更新。 在启用此设置之前,请更新到最新的ece-tools版本。 如果重新部署后不存在副本关系,请联系Adobe Commerce支持。

使用CACHE_CONFIGURATION时,将支持的覆盖合并到生成的配置中,而不是替换生成的连接结构。

RESOURCE_CONFIGURATION

  • 默认值 — 未设置

将资源名称映射到数据库连接。 此配置对应于env.php文件的resource部分。

默认情况下,部署进程将覆盖env.php文件中的所有设置;但是,您可以选择为服务配置合并一个或多个值而不覆盖所有值。

_merge选项设置为以下选项之一:

  • true将配置的服务值与环境变量值合并
  • false使用环境变量值覆盖配置的服务值

以下示例将新值合并到现有配置:

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

SCD_COMPRESSION_LEVEL

  • 默认4

指定压缩静态内容时要使用的gzip压缩级别(09)。 将其设置为0以禁用压缩。

stage:
  deploy:
    SCD_COMPRESSION_LEVEL: 5

SCD_COMPRESSION_TIMEOUT

  • 默认600

当压缩静态资源所花费的时间超过压缩超时限制时,将中断部署过程。 设置静态内容压缩命令的最长执行时间(秒)。

stage:
  deploy:
    SCD_COMPRESSION_TIMEOUT: 800

SCD_MATRIX

  • 默认值未设置

您可以为每个主题配置多个区域设置。 此自定义通过减少不必要的主题文件来加快部署过程。 例如,您可以部署英语版的​ magento/backend ​主题以及其他语言的自定义主题。

以下示例使用三种区域设置部署Magento/backend主题:

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

此外,您可以选择​ ​部署主题:

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

  • 默认false

在部署阶段,设置SCD_NO_PARENT: true,以便在部署阶段不生成父主题的静态内容。 此设置可最大限度地缩短部署时间,并防止在部署期间静态内容构建失败时可能发生的站点停机时间。 请参阅静态内容部署

stage:
  deploy:
    SCD_NO_PARENT: true

SCD_STRATEGY

  • 默认quick

允许您自定义静态内容的部署策略。 请参阅部署静态视图文件

如果您有多个区域设置,请仅使用这些选项​__:

  • standard — 为所有包部署所有静态视图文件。
  • quick — (默认值)可最大限度地缩短部署时间。
  • compact — 节省服务器上的磁盘空间。
stage:
  deploy:
    SCD_STRATEGY: "compact"

SCD_THREADS

  • 默认 — 自动

设置静态内容部署的线程数。 默认值是根据检测到的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文件中的所有设置;但是,您可以选择为服务配置合并一个或多个值而不覆盖所有值。

_merge选项设置为以下选项之一:

  • true将配置的服务值与环境变量值合并
  • false使用环境变量值覆盖配置的服务值

以下示例将新值合并到现有配置:

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

SESSION_CONFIGURATION

  • 默认值未设置

使用SESSION_CONFIGURATION配置会话存储。 以下示例使用与Redis兼容的会话配置结构。 仅将其用于精确Commerce版本支持的会话存储命名和服务组合。 对于Valkey支持的会话,请遵循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文件中的所有设置;但是,您可以选择为服务配置合并一个或多个值而不覆盖所有值。

_merge选项设置为以下选项之一:

  • true将配置的服务值与环境变量值合并
  • false使用环境变量值覆盖配置的服务值

以下示例将新值合并到现有配置:

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

SKIP_SCD

  • 默认值未设置

设置为true可在部署阶段跳过静态内容部署。

在部署阶段,设置SKIP_SCD: true,以便在部署阶段不进行静态内容生成。 此设置可最大限度地缩短部署时间,并防止在部署期间静态内容构建失败时可能发生的站点停机时间。 请参阅静态内容部署

stage:
  deploy:
    SKIP_SCD: true

UPDATE_URLS

  • 默认true

在部署时,将数据库中的Adobe Commerce基本URL替换为MAGENTO_CLOUD_ROUTES变量指定的项目URL。 此配置对于本地开发非常有用,因为本地开发为本地环境设置了基本URL。 当您部署到云环境时,URL会更新,以便您可以使用项目URL访问店面和管理员。

如果您在部署到Pro或Starter暂存和生产环境时必须更新URL,请使用FORCE_UPDATE_URLS变量。

stage:
  deploy:
    UPDATE_URLS: false

USE_LUA

  • 默认false
  • 版本—Adobe Commerce 2.4.7及更高版本

控制env.php中默认缓存前端的use_lua缓存后端选项(在使用symfony_l2后端时,控制stale_cache_enabled前端中的远程后端选项)。 此选项不应用于page_cache前端。

使用默认值false,除非Adobe支持明确另有指示。

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_LUAUSE_LUA_ON_GC变量。

USE_LUA_ON_GC

  • 默认true
  • 版本—Adobe Commerce 2.4.8及更高版本

控制env.php中用于默认缓存前端的use_lua_on_gc缓存后端选项(在使用symfony_l2后端时,控制stale_cache_enabled前端中的远程后端选项)以进行垃圾收集。 此选项不应用于page_cache前端。

使用默认值truebackend_clean_cache cron作业期间保留原子缓存标记清理。

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设置控制命令输出中成功和失败的bin/magento CLI命令的详细信息,必须设置MIN_LOGGING_LEVEL debug

选择日志中提供的详细信息级别:

  • -v=正常输出
  • -vv=更多详细输出
  • -vvv =详细输出,非常适用于调试
stage:
  deploy:
    VERBOSE_COMMANDS: "-vv"
recommendation-more-help
commerce-on-cloud-help-cloud-guide