使用CLI命令的示例

此示例说明如何在开发系统中设置共享的、特定于系统的敏感值,然后将这些值部署到生产系统。
这是通过使用共享配置、 config.php 文件和Commerce CLI命令。

此示例使用以下配置设置:

  • 增值税号存储名称 用于共享配置设置。

    这些规则位于 商店 >设置> 配置 >常规> 常规.

  • 发送电子邮件至 以获取敏感配置值。

    该函数位于 商店 >设置> 配置 >常规> 联系人.

  • 默认电子邮件域 用于系统特定的配置值。

    该函数位于 商店 >设置> 配置 >客户> 客户配置 > 创建新帐户选项.

您可以使用本示例中显示的相同过程来配置以下引用中的任何设置:

开始之前

在开始之前,请按照中所述设置文件系统权限和所有权 开发、构建和生产系统的先决条件.

假设

本主题提供了修改生产系统配置的示例。 您可以根据需要选择不同的配置选项。

在本例中,我们假定:

  • 您使用Git源代码控制
  • 开发系统可在名为的Git远程存储库中使用 mconfig
  • 您的Git工作分支已命名 m2.2_deploy

步骤1:在开发系统中设置配置

要在开发系统中设置默认区域设置和权重单位,请执行以下操作:

  1. 登录到管理员。

  2. 单击 商店 >设置> 配置 >常规> 常规.

  3. 如果您有多个可用网站,请使用 商店视图 列表以切换到不同的网站,如下图所示。

    切换网站

  4. 在右窗格中,展开 存储信息.

  5. 如有必要,请清除 使用默认值 旁边的复选框 增值税号存储名称 字段。

  6. 在字段中输入数字(例如, 12345)。

  7. 存储名称 字段,输入值(如 My Store)。

  8. 单击 保存配置.

  9. 在左侧导航中的“常规”下,单击 联系人.

  10. 在右窗格中,展开 电子邮件选项.

  11. 如有必要,请清除 使用默认值 旁边的复选框 发送电子邮件至 字段。

  12. 在字段中输入电子邮件地址。

  13. 单击 保存配置.

  14. 使用 商店视图 列表以选择 默认配置 如下图所示。

    切换到默认配置

  15. 在左窗格中,单击客户> 客户配置.

  16. 在右窗格中,展开 创建新帐户选项.

  17. 如有必要,请清除 使用系统值 旁边的复选框 默认电子邮件域 字段。

  18. 在字段中输入域名。

  19. 单击 保存配置.

  20. 如果出现提示,请刷新缓存。

步骤2:更新配置

现在,您已在Admin中更改配置,请使用以下步骤将共享配置写入文件:

更新配置

  1. 以文件系统所有者的身份登录开发系统,或切换到文件系统所有者。

  2. 更改为应用程序根并运行dump命令。

    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
    
  3. 确认 app/etc/config.php 已更新。

    code language-bash
    git status
    

    示例响应:

    code language-terminal
    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
    Do 将更改提交到 generatedpub/media,或 pub/static 目录到源代码管理。 您可以在生成系统上生成这些文件。 开发系统可能具有代码、主题等,尚未准备好用于生产系统。
  4. 将更改签入 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:更新构建系统并生成文件

现在,您已经将共享配置的更改提交到源代码管理,您可以将这些更改提取到构建系统中,编译代码并生成静态文件。

更新生成系统

  1. 以文件系统所有者的身份登录到构建系统。

  2. 切换到应用程序根目录。

    code language-bash
    cd <Magento root dir>
    
  3. 将更改提取到 app/etc/config.php 源控件中的。

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. 编译代码。

    code language-bash
    bin/magento setup:di:compile
    
  5. 编译代码后,生成静态视图文件。

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. 检查源代码控制中的更改。

    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编号)。

更新生产系统

  1. 以文件系统所有者的身份登录到生产系统。

  2. 更改为应用程序根并启用维护模式。

    code language-bash
    cd <Magento root dir>
    
    code language-bash
    bin/magento maintenance:enable
    

    有关其他选项(例如设置IP地址白名单的功能),请参阅 magento maintenance:enable.

  3. 通过设置停止任何正在运行的队列工作程序 cron_runfalseapp/etc/env.php 如下所示:

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. 更新配置。

    code language-bash
    bin/magento app:config:import
    
  5. 最后, kill 任何活动的使用者进程。

    code language-bash
    kill <PID>
    

    位置 PID 是要终止的进程ID,例如:

    code language-bash
    kill 1234
    
  6. 从源代码管理中提取代码。

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. 更新配置。

    code language-bash
    bin/magento app:config:import
    
  8. 清理缓存。

    code language-bash
    bin/magento cache:clean
    
  9. 结束维护模式。

    code language-bash
    bin/magento maintenance:disable
    

在“管理员”中验证配置设置

要验证配置设置:

  1. 登录到生产系统的管理员。

  2. 单击 商店 >设置> 配置 >常规> 常规.

  3. 使用 商店视图 列表以切换到其他网站。

    在开发系统中设置的共享配置选项显示如下。

    检查生产系统中的设置

    note info
    INFO
    存储名称 字段在网站范围中可编辑,但如果您切换到默认配置范围,则无法编辑该字段。 这是您在开发系统中设置选项的结果。 的值 增值税号 在网站范围内不可编辑。
  4. 如果您尚未这样做,请切换到默认配置范围。

  5. 在左侧导航中的“常规”下,单击 联系人.

    发送电子邮件至 字段不可编辑,如下图所示。 这是一个敏感设置。

    检查生产系统中的设置

  6. 在左窗格中,单击客户> 客户配置.

  7. 在右窗格中,展开 创建新帐户选项.

    的值 默认电子邮件域 字段如下所示。 这是系统特定的设置。

    检查生产系统中的设置

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c