部署概述

以下主题将讨论将Commerce应用程序部署到Adobe Commerce版本2.2及更高版本的生产站点的过程。 Adobe建议对拥有大型站点、不想在部署期间遇到停机时间的任何人使用此部署方法。

如果您在单个计算机上部署Commerce,并且可以在部署期间允许出现一些停机时间,请参阅 单机部署.

管道部署

在Commerce版本2.2中,引入了Adobe 管道部署 作为一种以最少停机时间部署到生产环境的新方法。 此部署过程发生在不同的系统中,并为所有管道部署系统提供了一种保持配置一致的方法。 它是一种简单但功能强大的模型,可让您将普通配置设置与特定于系统的设置(如主机和端口)或敏感设置(如名称和密码)分开。

要使用管道部署,Adobe假定您是:

  • 经验丰富、对Adobe Commerce配置选项具有极佳了解的系统集成商。
  • 管理大型Commerce网站(数千个库存单位(SKU)),并希望将生产网站的停机时间降至最低。
  • 了解PHP编程。
  • 具有源代码控制方法使用经验。
  • 您的代码位于源代码控制存储库中。 在本指南中,我们假定您使用的是基于Git的存储库。

减少停机时间

当您将静态资产部署到与生产系统不同的计算机上并编译代码时,可将停机时间降至最低。 生产系统上的停机时间仅限于将静态文件和编译的代码传输到服务器所需的时间。

部署系统

我们使用以下术语来描述与部署有关的系统。

  • 开发系统 — 开发人员在其上自定义代码的计算机;并从Commerce Marketplace安装扩展、主题和语言包。 此外,您还可以在开发系统上更改所有配置。 您可以有许多开发系统。

  • 构建系统 — 一个系统,您可以在其上部署静态资产并为生产系统编译代码。 由于您是在不在生产中使用的系统上构建这些资产,因此可将生产系统的停机时间降至最低。

    您的生成系统上不必安装Commerce。 它只需要使用Commerce代码,而无需数据库连接。 此外,您的构建系统不需要是物理上独立的服务器。

  • 暂存系统可选. 您可以选择设置一个暂存系统,用于所有集成代码的最终测试,包括用户验收测试(UAT)。 使用与设置生产系统相同的方法设置暂存系统。 除了暂存不是您的实时商店并且不处理客户订单这一事实之外,它与生产环境完全相同。

  • 生产系统 — 您的实时商店。 您应该在这里进行最小的直接配置更改,当然没有在暂存实例上测试过的任何内容。 如有可能,请使用以下方式更改配置 数据修补程序 已在暂存/开发实例上测试过的客户。

其他部署方法

或者,您也可以使用其他部署方法,包括:

管理配置

在以下时间后建模: 12因素应用程序设计中的因素3,Commerce现在将每个系统的配置存储在系统本身。 (开发配置设置存储在开发系统中,生产设置存储在生产系统中。)

我们提供一种同步系统配置的方法:

  • 共享配置 — 系统特有或不敏感的设置。

    共享设置是您希望开发系统和生产系统一致的设置。 在开发环境的管理员(或云基础架构上的Adobe Commerce)中设置共享配置 集成)系统。

    共享配置文件, app/etc/config.php、应包含在源代码控制中,以便在开发、构建和生产系统之间共享。

  • 系统特定的配置 — 根据系统而异的设置,如搜索引擎主机名和端口。

  • 敏感配置 — 应该使用的设置 处于源代码控制中,因为它们会公开个人身份信息(PII)或API密钥或密码等设置。

    系统特定的配置文件, app/etc/env.php,应该 包括在源代码控制中或在系统之间共享。 请改用 magento config:setmagento:sensitive:set 命令 以便为生产系统中的这些设置提供值。

INFO
这些用于管理配置的新方法是可选的。 您无需这样做,但强烈建议您使用它们。

大多数情况下,在共享、系统特定或敏感配置中设置的配置选项无法在Admin中进行编辑。 这有助于使您的设置在所有系统中保持一致。 (您可以选择使用 magento config:set 命令 不使用 --lock 选项,用于配置可在管理员中编辑的设置。)

每个Commerce配置选项都有一个 配置路径. 要设置配置选项的值,可以使用CLI命令或环境变量在特定系统上设置该配置路径的值。

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