建立變數
下列 組建 變數控制建置階段中的動作,可以繼承及覆寫來自全域變數的值。 在.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壓縮等級(0
到9
);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
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
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偵錯詳細程度。
選擇記錄中提供的詳細資訊等級:
-v
=一般輸出-vv
=其他詳細資訊輸出-vvv
=詳細輸出,適用於偵錯
stage:
build:
VERBOSE_COMMANDS: "-vv"