部署變數

下列​ 部署 ​變數控制項動作位於部署階段,可以繼承及覆寫來自全域變數的值。 在.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選取支援的快取或L2實作,以取得確切的Adobe Commerce版本。 使用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
若要列出可用的message-queue取用者,請在遠端環境中執行./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設定CRYPT_KEY值,而非.magento.env.yaml檔案。 請參閱設定環境和專案變數

將資料庫從一個環境移動到另一個環境時,若沒有安裝程式,則需要相應的密碼編譯資訊。 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 Composer套件,則會自動設定它。

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環境時,此變數會以MAGENTO_CLOUD_ROUTES變數指定的專案URL取代資料庫中的Adobe Commerce基底URL。 若要覆寫UPDATE_URLS部署變數的預設行為,請使用此設定。

stage:
  deploy:
    FORCE_UPDATE_URLS: true

LOCK_PROVIDER

  • 預設 — 在生產環境和測試環境中,預設為file且無法變更。 若為Pro整合與入門環境,預設值為db

鎖定提供者可防止重複的cron工作和cron群組執行。 雲端上的Adobe Commerce支援filedb鎖定提供者。

在Pro測試和生產環境中,MAGENTO_CLOUD_LOCKS_DIR會設定file提供者。 您無法覆寫此設定。 在Pro Integration和Starter環境中,ece-tools預設會設定db提供者。 若要最佳化本機效能並映象生產架構,請在這些環境中將提供者設定為file

stage:
  deploy:
    LOCK_PROVIDER: 'file'

MYSQL_USE_SLAVE_CONNECTION

  • 預設false
TIP
MYSQL_USE_SLAVE_CONNECTION變數僅在雲端基礎結構暫存和Production Pro叢集上的Adobe Commerce上受支援。 入門專案不支援此功能。

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。

對於支援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_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'

symfony_l2指定為Valkey後端模型會啟用L2快取,而ece-tools會自動從您的Valkey服務連線詳細資料產生L2快取組態,包括defaultstale_cache_enabled前端。 只有在您需要自訂支援的後端選項(例如本機快取目錄)時才定義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秒,但某些情況需要更多時間才能完成雲端專案的靜態內容部署。

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

可讓您自訂靜態內容的部署策略。 請參閱部署靜態檢視檔案

如果您有多個地區設定,請只使用這些選項​1}:

  • 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前端。

使用預設值true,在backend_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