建立變數

下列​ 組建 ​變數控制建置階段中的動作,可以繼承及覆寫來自全域變數的值。 在.magento.env.yaml檔案的build階段中插入這些變數:

stage:
  build:
    BUILD_VARIABLE_NAME: value

如需自訂建置和部署程式的詳細資訊:

下列變數已在v2.2中移除:

  • skip_di_clearing
  • skip_di_compilation

ERROR_REPORT_DIR_NESTING_LEVEL

  • 預設1
  • 版本—Adobe Commerce 2.1.4和更新版本

設定儲存錯誤報告檔案的目錄巢狀層級,以避免報告目錄填入數萬個檔案,這會使管理和檢閱資料變得困難。 此設定預設為1。 一般而言,除非您在管理<magento_root>/var/report/目錄中的錯誤報告檔案時遇到問題,否則不需要變更預設值。

stage:
  build:
    ERROR_REPORT_DIR_NESTING_LEVEL: 2

QUALITY_PATCHES

  • 預設未設定
  • 版本—Adobe Commerce 2.1.4和更新版本

指定部署期間要套用的Adobe Commerce品質修補程式清單。

stage:
  build:
    QUALITY_PATCHES: [ ]

下列範例指定部署期間要套用的三個修補程式。

stage:
  build:
    QUALITY_PATCHES:
      - MC-31387
      - MDVA-4567
      - MC-456345

請參閱套用修補程式

SCD_COMPRESSION_LEVEL

  • 預設6
  • 版本—Adobe Commerce 2.1.4和更新版本

指定壓縮靜態內容時要使用的gzip壓縮等級(09);0會停用壓縮。

stage:
  build:
    SCD_COMPRESSION_LEVEL: 4

SCD_COMPRESSION_TIMEOUT

  • 預設600
  • 版本—Adobe Commerce 2.1.4和更新版本

當壓縮靜態資產所花的時間超過壓縮逾時限制時,就會中斷部署程式。 設定靜態內容壓縮命令的執行時間上限(秒)。

stage:
  build:
    SCD_COMPRESSION_TIMEOUT: 800

SCD_NO_PARENT

  • 預設false
  • 版本—Adobe Commerce 2.4.2和更新版本

設定為true以防止在建置階段產生父系主題的靜態內容。

在建置階段設定SCD_NO_PARENT: false,以便父系主題產生靜態內容不會影響網站部署或造成不必要的網站停機。 請參閱靜態內容部署

stage:
  build:
    SCD_NO_PARENT: false

SCD_MATRIX

  • 預設未設定
  • 版本—Adobe Commerce 2.1.4和更新版本

您可以為每個主題設定多個地區設定。 此自訂功能可減少不必要的佈景主題檔案數目,有助於加速建置流程。 例如,您可以建置英文的​ magento/backend ​佈景主題,以及其他語言的自訂佈景主題。

下列範例會建置具有三種地區設定的Magento/backend主題:

stage:
  build:
    SCD_MATRIX:
      "Magento/backend":
        language:
          - en_US
          - fr_FR
          - af_ZA

下列範例會建置三個主題和三個地區設定:

stage:
  build:
    SCD_MATRIX:
      "Magento/backend":
        language:
          - en_US
          - fr_FR
          - af_ZA
      "Magento/blank":
        language:
          - en_US
          - fr_FR
          - af_ZA
      "Magento/luma":
        language:
          - en_US
          - fr_FR
          - af_ZA

或者,您可以選擇​ ​部署佈景主題:

stage:
  build:
    SCD_MATRIX:
      "Magento/backend": [ ]

SCD_MAX_EXECUTION_TIME

  • 預設未設定
  • 版本—Adobe Commerce 2.2.0和更新版本

可讓您增加靜態內容部署的最大預期執行時間。

根據預設,雲端基礎結構上的Adobe Commerce將最大預期執行設為900秒,但在某些情況下,您可能會需要更多時間來完成雲端專案的靜態內容部署。

stage:
  build:
    SCD_MAX_EXECUTION_TIME: 3600
WARNING
如果您在部署後應用程式中的靜態內容檔案出現問題(例如遺失自訂主題檔案),請將最大預期執行時間增加至900秒或以上。

SCD_STRATEGY

  • 預設quick
  • 版本—Adobe Commerce 2.2.0和更新版本

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

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

  • standard — 為所有封裝部署所有靜態檢視檔案。
  • quick — (預設)可縮短部署時間。
  • compact — 節省伺服器上的磁碟空間。 在Adobe Commerce 2.2.4版和更早版本中,此設定會以1的值覆寫scd_threads的值。
stage:
  build:
    SCD_STRATEGY: "compact"

SCD_THREADS

  • 預設 — 自動
  • 版本—Adobe Commerce 2.1.4和更新版本

設定靜態內容部署的執行緒數目。 預設值是根據偵測到的CPU執行緒計數而設定,不會超過4的值。 增加執行緒數目會加速靜態內容部署;減少執行緒數目會減慢速度。 您可以設定螺紋值,例如:

stage:
  build:
    SCD_THREADS: 2

若要進一步縮短部署時間,請使用組態管理搭配scd-dump命令,將靜態部署移至建置階段。

SCD_USE_BALER

  • 預設未設定
  • 版本—Adobe Commerce 2.3.0和更新版本

Baler會掃描您產生的JavaScript程式碼並建立最佳化的JavaScript套件組合。 將最佳化的套件組合部署至您的網站,可以減少載入網站時的網路要求數目,並改善頁面載入時間。

設定為true以執行靜態內容部署後執行Baler。

stage:
  build:
    SCD_USE_BALER: true
NOTE
由於Baler是Alpha版本,不建議在生產環境中使用。

SKIP_COMPOSER_DUMP_AUTOLOAD

  • 預設未設定
  • 版本—Adobe Commerce 2.1.4和更新版本

設定為true以在Cloud Docker安裝期間略過composer dump-autoload命令。 此變數僅與具有可寫入檔案系統的Cloud Docker容器相關。 在這種情況下,略過命令可防止其他命令嘗試從已刪除的generated目錄存取程式碼時發生錯誤。

當Adobe Commerce執行composer dump-autoload時,它會建立自動載入檔案,並包含到generated資料夾中產生的類別的連結,這在具有唯讀檔案系統的生產環境中不是問題。 但是,對於具有可寫入檔案系統的Cloud Docker安裝(僅針對使用./vendor/bin/ece-docker build:compose --with-test的測試和開發而建立),您可以執行bin/magento -n setup:upgrade命令而不使用--keep-generated選項,這會刪除generated目錄。 如果刪除目錄,則composer dump-autoload命令會失敗,因為自動載入包含已刪除目錄中檔案的連結。

stage:
  build:
    SKIP_COMPOSER_DUMP_AUTOLOAD: true

SKIP_SCD

  • 預設未設定
  • 版本—Adobe Commerce 2.1.4和更新版本

設為true會在建置階段期間略過靜態內容部署。

如果您已在使用組態管理的建置階段中部署靜態內容,您可以略過靜態內容部署以進行快速建置測試。

在建置階段中,設定SKIP_SCD: false,以便在建置階段期間進行靜態內容建置,該程式不會影響網站部署或造成不必要的網站停機。 請參閱靜態內容部署

stage:
  build:
    SKIP_SCD: false

VERBOSE_COMMANDS

  • 預設未設定
  • 版本—Adobe Commerce 2.1.4和更新版本

啟用或停用部署階段所執行bin/magento CLI命令的Symfony偵錯詳細程度。

NOTE
若要使用VERBOSE_COMMANDS來控制命令輸出中成功和失敗的bin/magento CLI命令的詳細資料,您必須設定MIN_LOGGING_LEVEL debug

選擇記錄中提供的詳細資訊等級:

  • -v=一般輸出
  • -vv=其他詳細資訊輸出
  • -vvv =詳細輸出,適用於偵錯
stage:
  build:
    VERBOSE_COMMANDS: "-vv"
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26