使用CLI命令的示例
此示例说明如何在开发系统中设置共享的、特定于系统的敏感值,然后将这些值部署到生产系统。
这是通过使用共享配置、config.php
文件和Commerce CLI命令的组合来完成的。
此示例使用以下配置设置:
-
共享配置设置的 增值税号 和 存储名称。
可在 商店 >设置> 配置 >常规> 常规 下找到这些项目。
-
向 发送敏感配置值的电子邮件。
可在 商店 >设置> 配置 >常规> 联系人 下找到此项。
-
系统特定配置值的 默认电子邮件域。
此项目位于 商店 >设置> 配置 >客户> 客户配置 > 新建帐户选项 下。
您可以使用本示例中显示的相同过程来配置以下引用中的任何设置:
开始之前
在开始之前,请按照开发、构建和生产系统的先决条件中所述设置文件系统权限和所有权。
假设
本主题提供了修改生产系统配置的示例。 您可以根据需要选择不同的配置选项。
在本例中,我们假定:
- 您使用Git源代码控制
- 开发系统在名为
mconfig
的Git远程存储库中可用 - 您的Git工作分支名为
m2.2_deploy
步骤1:在开发系统中设置配置
要在开发系统中设置默认区域设置和权重单位,请执行以下操作:
-
登录到管理员。
-
单击“存储”>“设置”>“配置”>“常规”>“常规”。
-
如果您有多个可用网站,请使用左上角的 商店视图 列表切换到其他网站,如下图所示。
-
在右窗格中,展开 存储信息。
-
如有必要,请清除 VAT编号 和 商店名称 字段旁边的 使用默认值 复选框。
-
在字段中输入数字(例如,
12345
)。 -
在 存储名称 字段中,输入一个值(如
My Store
)。 -
单击 保存配置。
-
在左侧导航栏的“常规”下,单击 联系人。
-
在右窗格中,展开 电子邮件选项。
-
如有必要,请清除 将电子邮件发送到 字段旁边的 使用默认值 复选框。
-
在字段中输入电子邮件地址。
-
单击 保存配置。
-
使用 存储视图 列表选择 默认配置,如下图所示。
-
在左窗格中,单击“客户”>“客户配置”。
-
在右窗格中,展开 新建帐户选项。
-
如有必要,请清除 默认电子邮件域 字段旁边的 使用系统值 复选框。
-
在字段中输入域名。
-
单击 保存配置。
-
如果出现提示,请刷新缓存。
步骤2:更新配置
现在,您已在Admin中更改配置,请使用以下步骤将共享配置写入文件:
要更新配置:
-
以文件系统所有者的身份登录开发系统,或切换到文件系统所有者。
-
更改为应用程序根并运行dump命令。
code language-bash cd <Magento root dir> php bin/magento app:config:dump
例如,如果
/var/www/html/magento2
中安装了Commerce,请输入: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
是要终止的进程ID,例如: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
在“管理员”中验证配置设置
要验证配置设置:
-
登录到生产系统的管理员。
-
单击“存储”>“设置”>“配置”>“常规”>“常规”。
-
使用左上角的 商店视图 列表切换到其他网站。
在开发系统中设置的共享配置选项显示如下。
note info INFO 存储名称 字段在网站范围中可编辑,但如果您切换到默认配置范围,则无法编辑该字段。 这是您在开发系统中设置选项的结果。 增值税号 的值在网站范围中不可编辑。 -
如果您尚未这样做,请切换到默认配置范围。
-
在左侧导航栏的“常规”下,单击 联系人。
将电子邮件发送到 字段不可编辑,如下图所示。 这是一个敏感设置。
-
在左窗格中,单击“客户”>“客户配置”。
-
在右窗格中,展开 新建帐户选项。
默认电子邮件域 字段的值显示如下。 这是系统特定的设置。