使用CLI命令的範例
此範例說明如何在開發系統中設定共用、系統專屬和敏感的值,然後將這些值部署至生產系統。
這是透過使用共用組態、config.php
檔案和Commerce CLI命令的組合來完成的。
此範例使用下列組態設定:
-
共用組態設定的 Vat號碼 和 存放區名稱。
您可以在 商店 >設定> 設定 >一般> 一般 下找到這些專案。
-
傳送電子郵件給 以取得機密的設定值。
您可以在 商店 >設定> 組態 >一般> 連絡人 中找到此專案。
-
系統特定組態值的 預設電子郵件網域。
您可以在 商店 >設定> 設定 >客戶> 客戶設定 > 建立新帳戶選項 中找到此專案。
您可以使用本範例中所示的相同程式,來設定下列參照中的任何設定:
開始之前
開始之前,請設定檔案系統許可權和擁有權,如開發、建置和生產系統的先決條件中所述。
假設
本主題提供修改生產系統組態的範例。 您可以視需要選擇不同的組態選項。
在本範例中,我們假設如下:
- 您使用Git原始檔控制
- 開發系統可在名為
mconfig
的Git遠端存放庫中取得 - 您的Git工作分支名為
m2.2_deploy
步驟1:在開發系統中設定設定
若要在開發系統中設定預設語言環境及加權單位:
-
登入管理員。
-
按一下 商店 >設定> 組態 >一般> 一般。
-
如果您有多個可用網站,請使用左上角的 商店檢視 清單,切換至不同的網站,如下圖所示。
-
在右窗格中,展開 存放區資訊。
-
如有必要,請清除 VAT編號 與 商店名稱 欄位旁的 使用預設值 核取方塊。
-
在欄位中輸入數字(例如,
12345
)。 -
在 存放區名稱 欄位中,輸入值(如
My Store
)。 -
按一下 儲存設定。
-
在左側導覽列的[一般]底下,按一下[連絡人]。
-
在右窗格中,展開 電子郵件選項。
-
如有必要,請清除 傳送電子郵件給 欄位旁的 使用預設值 核取方塊。
-
在欄位中輸入電子郵件地址。
-
按一下 儲存設定。
-
使用 存放區檢視 清單來選取 預設設定,如下圖所示。
-
在左窗格中,按一下「客戶> 客戶組態」。
-
在右窗格中,展開 建立新帳戶選項。
-
如有必要,請清除 預設電子郵件網域 欄位旁的 使用系統值 核取方塊。
-
在欄位中輸入網域名稱。
-
按一下 儲存設定。
-
如果出現提示,請排清快取。
步驟2:更新設定
現在您已變更管理員中的設定,請使用下列步驟將共用設定寫入檔案:
若要更新組態:
-
以檔案系統擁有者的身分登入或切換到您的開發系統。
-
變更至應用程式根目錄,然後執行傾印命令。
code language-bash cd <Magento root dir> php bin/magento app:config:dump
例如,如果Commerce安裝在
/var/www/html/magento2
中,請輸入:code language-bash cd /var/www/html/magento2 php bin/magento app:config:dump
-
確認
app/etc/config.php
已更新。code language-bash git status
範例回應:
code language-none On branch m2.2_deploy Changed but not updated: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: app/etc/config.php
note warning WARNING 請_不_將變更提交至 generated
、pub/media
或pub/static
目錄至原始檔控制。 您會在建置系統上產生這些檔案。 開發系統可能有程式碼、主題等未準備好用於生產系統的專案。 -
只將您對
app/etc/config.php
的變更籤入至原始檔控制。code language-bash git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
即使app/etc/env.php
(系統特定組態)已更新,請勿將其簽入原始檔控制。
稍後在本程式中,您將在生產系統上建立相同的組態設定。
步驟3:更新您的建置系統並產生檔案
現在您已確認將共用組態的變更提交至原始檔控制,您可以將這些變更提取至您的建置系統、編譯程式碼並產生靜態檔案。
若要更新組建系統:
-
以檔案系統擁有者的身分登入組建系統。
-
變更至應用程式根目錄。
code language-bash cd <Magento root dir>
-
從原始檔控制提取變更到
app/etc/config.php
。code language-bash git pull mconfig m2.2_deploy
-
編譯程式碼。
code language-bash bin/magento setup:di:compile
-
編譯程式碼之後,產生靜態檢視檔案。
code language-bash bin/magento setup:static-content:deploy -f
-
檢查原始檔控制中的變更。
code language-bash git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
步驟4:更新生產系統
該流程的最後一步是更新您的生產系統。 您必須分成兩個部分來執行:
- 更新敏感和系統專屬設定
- 更新共用設定
更新敏感和系統專屬設定
若要使用環境變數設定敏感和系統專屬設定,您必須知道以下事項:
-
每個設定的範圍
如果您依照步驟1的指示進行,傳送電子郵件給 的範圍為網站,預設電子郵件網域 的範圍為全域(亦即,預設設定範圍)。
您需要網站程式碼以設定 傳送電子郵件給 設定值。
如需尋找此值的詳細資訊,請參閱: 使用環境變數覆寫組態設定。
-
此範例中使用的設定的設定路徑:
table 0-row-2 1-row-2 2-row-2 設定名稱 設定路徑 傳送電子郵件至 contact/email/recipient_email
預設電子郵件網域 customer/create_account/email_domain
如需所有敏感及系統特定組態路徑,請參閱: 敏感及系統特定組態路徑參考。
使用CLI命令設定變數
使用下列CLI指令來設定系統特定和敏感的組態設定:
- 系統特定設定的
magento config:set
magento config:sensitive:set
為敏感設定
若要設定預設範圍中的系統特定設定 預設電子郵件網域,請使用下列命令:
bin/magento config:set customer/create_account/email_domain <email domain>
您不需要在命令中使用範圍,因為它是預設範圍。
但是,若要設定 傳送電子郵件至 的值,您必須知道範圍型別(website
)和範圍代碼,每個網站上的範圍代碼可能都不相同。
範例:
bin/magento config:sensitive:set contact/email/recipient_email --scope=website --scope-code=<website code> <email address>
更新共用設定
本節探討如何將您在開發及建置系統上所做的所有變更提取至生產環境,這會更新共用組態設定(商店名稱及VAT編號)。
若要更新生產系統:
-
以檔案系統擁有者的身分登入生產系統。
-
變更為應用程式根並啟用維護模式。
code language-bash cd <Magento root dir>
code language-bash bin/magento maintenance:enable
如需其他選項,例如設定IP位址白名單的功能,請參閱
magento maintenance:enable
。 -
透過在
app/etc/env.php
中將cron_run
設定為false
來停止任何執行中的佇列背景工作,如下所示:code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ]
-
更新設定。
code language-bash bin/magento app:config:import
-
最後,
kill
任何使用中的消費者處理序。code language-bash kill <PID>
其中
PID
是要終止的處理序識別碼,例如:code language-bash kill 1234
-
從原始檔控制提取程式碼。
code language-bash git pull mconfig m2.2_deploy
-
更新設定。
code language-bash bin/magento app:config:import
-
清除快取。
code language-bash bin/magento cache:clean
-
結束維護模式。
code language-bash bin/magento maintenance:disable
驗證Admin中的組態設定
若要驗證組態設定:
-
登入生產系統的管理員。
-
按一下 商店 >設定> 組態 >一般> 一般。
-
使用左上角的 商店檢視 清單,切換到不同的網站。
您在開發系統中設定的共用組態選項顯示如下。
note info INFO 存放區名稱 欄位可在網站範圍中編輯,但如果您切換至預設設定範圍,則無法編輯。 這是您在開發系統中設定選項的結果。 VAT編號 的值在網站範圍中不可編輯。 -
如果您尚未這樣做,請切換到預設設定範圍。
-
在左側導覽列的[一般]底下,按一下[連絡人]。
無法編輯 傳送電子郵件給 欄位,如下圖所示。 此為敏感設定。
-
在左窗格中,按一下「客戶> 客戶組態」。
-
在右窗格中,展開 建立新帳戶選項。
預設電子郵件網域 欄位的值顯示如下。 此為系統專屬設定。