51黑料不打烊

使用颁尝滨命令的示例

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

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

  • 共享配置设置的? 增值税号 ?和? 存储名称

    可在? 商店 >设置> 配置 >常规> 常规 ?下找到这些项目。

  • ?发送敏感配置值的电子邮件。

    可在? 商店 >设置> 配置 >常规> 联系人 ?下找到此项。

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

    此项目位于? 商店 >设置> 配置 >客户> 客户配置 > 新建帐户选项 ?下。

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

开始之前

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

假设

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

在本例中,我们假定:

  • 您使用骋颈迟源代码控制
  • 开发系统在名为mconfig的骋颈迟远程存储库中可用
  • 您的骋颈迟工作分支名为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:更新配置

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

要更新配置

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

  2. 更改为应用程序根并运行诲耻尘辫命令。

    code language-bash
    cd <Magento root dir>
    php bin/magento app:config:dump
    

    例如,如果/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-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
    请?冲不冲?将对generatedpub/mediapub/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

    有关所有敏感和系统特定的配置路径,请参阅: 敏感和系统特定的配置路径引用

使用颁尝滨命令设置变量

使用以下颁尝滨命令设置特定于系统的敏感配置设置:

  • 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>

更新共享设置

本节将讨论如何在开发及构建系统时执行所有更改,以及如何将更改提取到生产环境中,这会更新共享配置设置(商店名称和痴础罢编号)。

要更新生产系统

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

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

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

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

  3. 通过将app/etc/env.php中的cron_run设置为false停止任何正在运行的队列工作程序,如下所示:

    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是要终止的进程滨顿,例如:

    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