在云基础架构上重置Adobe Commerce上的环境
本文显示了在Adobe Commerce上回滚云基础架构上环境的各种方案。
选择最适合您的具体情况:
- 如果您有计划的活动(计划的部署或升级) — 方案1:计划的活动)。
- 如果您具有有效的快照 — 方案2:还原快照。
- 如果您具有稳定的生成,但没有有效的快照 — 场景3:没有快照,则生成稳定(SSH连接可用)。
- 如果生成已损坏,并且您没有有效的快照 — 方案4:没有快照;生成已损坏(无SSH连接)。
场景1:计划活动
在计划的部署或升级中,最简单且建议使用的Rollback是让商家在准备过程中执行以下操作:
升级/部署活动前5天:
- 检查当前数据库的大小。
- 检查
/data/exports
上是否有足够的磁盘空间来容纳Database Dump。 如果磁盘空间不足,请删除不需要的数据,或者创建支持案例并请求扩展磁盘。
更改日期:
- 将网站放入Maintenance Mode。
详细了解用户指南中的启用或禁用Maintenance Mode,以及升级指南中的升级🔗的Maintenance Mode选项。 - 禁用cron作业。 有关禁用cron作业的详细信息,请参阅crons属性指南。
- 获取本地Database Dump。
如果需要Rollback:
- 如果应用程序(如MariaDB)已作为此计划活动的一部分升级,请首先将该应用程序重新安装到以前的版本。
- Rollback使用本地Database Dump的数据库,并将其导入回MariaDB。
- 通过Git将代码Rollback到以前的工作版本。
对于升级/计划活动rollbacks/restores,建议不要使用Snapshots,因为与本地Database Dump相比,检索数据需要更长的时间,如上面 步骤2中所示,如果需要Rollback 部分。
Snapshots不保存在节点/服务器上,而是保存在单独的存储块中,由于该数据必须通过网络从块存储传输到新磁盘,因此该过程需要时间。 然后,将该新磁盘装载到节点上,准备检索/导入到连接到节点/服务器的原始磁盘上。
将此与导入本地Database Dump进行比较时,节点/服务器上已可检索数据,因此会节省大量时间,因为只需要使用Database Import。
场景2:恢复快照
阅读:我们的开发人员文档中的在Adobe Commerce上还原云基础架构上的快照。
阅读:在我们的开发人员文档中创建快照。
场景3:无快照,构建稳定(可用SSH连接)
此部分说明如何在尚未创建快照但可以通过SSH访问环境时重置环境。
步骤如下:
- 禁用配置管理。
- 卸载Adobe Commerce软件。
- 重置git分支。
执行这些步骤后:
- Adobe Commerce安装将返回到其Vanilla状态(数据库已恢复;部署配置已删除;已清除
var
下的目录)。 - 您的git分支在过去将被重置为所需的状态。
请阅读下面的详细步骤。
步骤0(先决条件):删除config.php以禁用配置管理
我们需要禁用配置管理,以便它不会在部署期间自动应用以前的配置设置。
要禁用配置管理,请确保您的/app/etc/
目录不包含config.php
文件。
要删除配置文件,请执行以下步骤:
- SSH到您的环境。
- 删除配置文件:
rm app/etc/config.php
阅读有关配置管理的更多信息:
步骤1:使用setup:uninstall命令卸载Adobe Commerce软件
卸载Adobe Commerce软件将删除并还原数据库,删除部署配置,并清除var
下的目录。
阅读:在开发人员文档中卸载Adobe Commerce软件。
要卸载Adobe Commerce软件,请执行以下步骤:
- SSH到您的环境。
- 执行
setup:uninstall
:bin/magento setup:uninstall
- 确认卸载。
将显示以下消息以确认卸载成功:
[SUCCESS]: Magento uninstallation complete.
这意味着我们已将Adobe Commerce安装(包括DB)恢复到其正版(Vanilla)状态。
步骤2:重置git分支
通过git重置,我们将代码还原到过去所需的状态。
- 将环境克隆到本地开发环境。 您可以在Cloud Console中复制命令:
- 访问提交历史记录。 使用
--reverse
以相反顺序显示历史记录,以便更加方便:git log --reverse
- 选择已完成的提交哈希。 要将代码重置为其真实状态(Vanilla),请查找创建分支(环境)的第一次提交。
- 应用硬git重置:
git reset --h <commit_hash>
- 将更改推送到服务器:
git push --force <origin> <branch>
执行这些步骤后,将重置git分支并清除整个git更改日志。 最后git个推送将触发重新部署,以应用所有更改并重新安装Adobe Commerce。
场景4:没有快照;生成已中断(没有SSH连接)
本节说明如何在环境处于关键状态时重置环境:部署过程无法成功构建工作应用程序,从而导致SSH连接不可用。
在这种情况下,必须首先使用git重置来恢复Adobe Commerce应用程序的工作状态,然后卸载Adobe Commerce软件(要删除并恢复数据库,删除部署配置等)。 该场景包含与场景3相同的步骤,但步骤顺序不同,并且还有一个额外的步骤 — 强制重新部署。 步骤如下:
- 重置 git 分支。
- 禁用配置管理。
- 卸载Adobe Commerce软件。
- 强制重新部署。
执行这些步骤后,您的结果将与场景3中的结果相同。
步骤4:强制重新部署
进行提交(这可能是空提交,但我们不建议这样做)并将它推送到服务器以触发重新部署:
git commit --allow-empty -m "<message>" && git push <origin> <branch>
如果安装:卸载失败,请手动重置数据库
如果执行setup:uninstall
命令失败并出现错误,且无法完成,则可以使用以下步骤手动清除数据库:
重置数据库后,向环境推送 git 以触发重新部署并将Adobe Commerce安装到新创建的数据库中。 或运行重新部署命令。