在云基础架构上重置Adobe Commerce上的环境

本文显示了在Adobe Commerce上回滚云基础架构上环境的各种方案。

选择最适合您的具体情况:

场景1:计划活动

在计划的部署或升级中,最简单、建议使用的是 Rollback 作为准备工作的一部分,将允许商家执行以下操作:

NOTE
请始终在您的网站中测试这些步骤 Staging Environment 第一!

在升级/部署活动开始前的5天

  1. 检查当前数据库的大小。
  2. 检查您是否有足够的磁盘空间 /data/exports 保留 Database Dump. 如果磁盘空间不足,请删除不需要的数据,或者创建支持案例并请求扩展磁盘。

更改日期

  1. 将网站放置到 Maintenance Mode.

    详细了解 启用或禁用 Maintenance Mode ,以及 Maintenance Mode 升级选项 ,位于我们的升级指南中。
  2. 以本地为例 Database Dump.

如果 Rollback 为必填项

  1. 如果应用程序 MariaDB 已作为此计划活动的一部分升级,请首先将该应用程序重新安装到以前的版本。
  2. Rollback 数据库使用本地 Database Dump,并将其导入回 MariaDB.
  3. Rollback 代码通过 Git 到上一个工作版本。

使用 Snapshots 不建议采用的方法进行升级/计划的活动 rollbacks/restores,因为检索数据所需的时间要比检索本地数据所需的时间长得多 Database Dump,如上面的步骤2中所述 如果 Rollback 为必填项 部分。

Snapshots 它们不是保存在节点/服务器上,而是保存在单独的存储块上,而且由于数据必须通过网络从块存储传输到新磁盘,所以这个过程需要时间。 然后,将该新磁盘装载到节点上,准备检索/导入到连接到节点/服务器的原始磁盘上。

当您将此与导入本地环境进行比较时 Database Dump,则节点/服务器上已经可以检索数据,因此可以将大量时间仅保存为 Database Import 为必填项。

场景2:恢复快照

阅读: 在云基础架构上的Adobe Commerce上恢复快照 在我们的开发人员文档中。

NOTE
在访问云基础架构帐户上的Adobe Commerce之后以及在应用重大更改之前,创建快照必须是我们的第一步。 这是最佳实践,强烈推荐。

阅读: 创建快照 在我们的开发人员文档中。

场景3:无快照,构建稳定(可用SSH连接)

此部分说明如何在尚未创建快照但可以通过SSH访问环境时重置环境。

步骤如下:

  1. 禁用配置管理。
  2. 卸载Adobe Commerce软件。
  3. 重置 git 分支。

执行这些步骤后:

  • Adobe Commerce安装将返回到其Vanilla状态(数据库已恢复;删除了部署配置;目录位于 var 已清除)。
  • 您的 git 分支在过去被重置为所需的状态。

请阅读下面的详细步骤。

步骤0(先决条件):删除config.php以禁用配置管理

我们需要禁用配置管理,以便它不会在部署期间自动应用以前的配置设置。

要禁用配置管理,请确保 /app/etc/ 目录不包含 config.php 文件。

要删除配置文件,请执行以下步骤:

  1. 通过SSH连接到环境.
  2. 删除配置文件: rm app/etc/config.php

阅读有关配置管理的更多信息:

步骤1:使用setup:uninstall命令卸载Adobe Commerce软件

卸载Adobe Commerce软件将删除并恢复数据库,删除部署配置,并清除以下目录 var.

阅读: 卸载Adobe Commerce软件 在我们的开发人员文档中。

要卸载Adobe Commerce软件,请执行以下步骤:

  1. 通过SSH连接到环境.
  2. 执行 setup:uninstallbin/magento setup:uninstall
  3. 确认卸载。

将显示以下消息以确认卸载成功:

[SUCCESS]: Magento uninstallation complete.

这意味着我们已将Adobe Commerce安装(包括DB)恢复到其正版(Vanilla)状态。

第2步:重置 git 分支

替换为 git 重置,我们会将代码还原到过去所需的状态。

  1. 将环境克隆到本地开发环境。 您可以在Cloud Console中复制命令: copy_git_clone.png
  2. 访问提交历史记录。 使用 --reverse 为了更加方便起见,请按相反顺序显示历史记录: git log --reverse
  3. 选择已完成的提交哈希。 要将代码重置为其真实状态(Vanilla),请查找创建分支(环境)的第一次提交。
    在Git控制台中选择承诺哈希
  4. 硬应用 git 重置: git reset --h <commit_hash>
  5. 将更改推送到服务器: git push --force <origin> <branch>

执行这些步骤后,我们的 git 分支将重置,并且整个 git 更改日志已清除。 最后一个 git 推送会触发重新部署以应用所有更改并重新安装Adobe Commerce。

场景4:无快照;内部版本损坏(否 SSH connection)

本节说明如何在环境处于关键状态时重置环境:部署过程无法成功构建工作应用程序,从而导致 SSH 连接不可用。

在此方案中,您必须首先使用恢复Adobe Commerce应用程序的工作状态 git 重置,然后卸载Adobe Commerce软件(删除和恢复数据库、删除部署配置等)。 该场景包含与场景3相同的步骤,但步骤顺序不同,并且还有一个额外的步骤 — 强制重新部署。 步骤如下:

执行这些步骤后,您的结果将与场景3中的结果相同。

步骤4:强制重新部署

进行提交(这可能是空提交,但我们不建议这样做)并将它推送到服务器以触发重新部署:

git commit --allow-empty -m "<message>" && git push <origin> <branch>

如果安装:卸载失败,请手动重置数据库

如果执行 setup:uninstall 命令因错误而失败,无法完成,我们可以通过以下步骤手动清除数据库:

  1. 通过SSH连接到环境.
  2. 连接到MySQL数据库: mysql -h database.internal (对于Pro环境,请参阅: 设置MySQL服务)。
  3. 放下 main 数据库: drop database main;
  4. 创建空的 main 数据库: create database main;
  5. 删除以下配置文件: config.phpconfig.php.bak,env.phpenv.php.bak

重置数据库后, 设为 git 推送到环境以触发重新部署 并将Adobe Commerce安装到新创建的数据库中。 或 运行重新部署命令.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a