Adobe Commerce クラウドインフラストラクチャ上の環境をリセットする
この記事では、Adobe Commerce on cloud infrastructureで環境をロールバックする様々なシナリオについて説明します。
ケースに最適なものを選択します。
- アクティビティを計画している場合(デプロイメントまたはアップグレードを計画) - シナリオ 1:計画アクティビティ) 。
- 有効なスナップショットがある場合 – シナリオ 2: スナップショットを復元。
- 安定したビルドを持っているが、有効なスナップショットがない場合 – シナリオ 3: スナップショットがない場合、安定したビルド (SSH接続が利用可能) 。
- ビルドが壊れており、有効なスナップショットがない場合 – シナリオ 4: スナップショットがありません。ビルドが壊れています(SSH接続なし) 。
シナリオ 1:計画されたアクティビティ
計画されたデプロイメントまたはアップグレードでは、最も簡単かつ推奨されるRollbackは、準備の一環として、マーチャントが次の操作を行うことです。
アップグレード/デプロイメント アクティビティの5日前:
- 現在のデータベースのサイズを確認します。
- Database Dumpを保持するのに十分なディスク領域が
/data/exportsにあることを確認してください。 十分なディスク容量がない場合は、不要なデータを削除するか、サポートケースを作成してディスクの拡張をリクエストします。
変更日:
- Web サイトをMaintenance Modeに配置します。
ユーザーガイドのMaintenance Modeを有効または無効にする方法と、アップグレード ガイドの🔗のアップグレード用オプション Maintenance Modeについて詳しくお読みください。 - cron ジョブを無効にします。 cron ジョブの無効化について詳しくは、crons プロパティガイド を参照してください。
- ローカル Database Dumpを使用します。
Rollbackが必要な場合:
- MariaDBなどのアプリケーションがこの計画的なアクティビティの一部としてアップグレードされた場合は、そのアプリケーションを最初に以前のバージョンに再インストールしてください。
- ローカル Database Dumpを使用してデータベース Rollbackを作成し、これをMariaDBに読み込みます。
- Git経由のコードを以前のバージョンにRollbackします。
Snapshotsの使用は、ローカル Database Dumpと比較してデータを取得するのに長い時間がかかるため、のステップ 2で前述したように、Rollbackが必要な場合 セクションで説明したように、アップグレード/計画アクティビティ rollbacks/restoresでは推奨される方法ではありません。
Snapshotsはノード/サーバー上で保持されず、別のストレージブロックに保持されます。そのデータはブロックストレージからネットワーク経由で新しいディスクに送信する必要があるため、プロセスに時間がかかります。 その後、その新しいディスクは、ノード/サーバーに接続された元のディスクに読み込み/読み込み可能なノードにマウントされます。
これをローカル Database Dumpの読み込みと比較すると、データは既にノード/サーバーで取得可能であるため、Database Importのみが必要なため、多くの時間が保存されます。
シナリオ 2: スナップショットを復元する
クラウドインフラストラクチャ上のAdobe Commerce上のスナップショットの復元🔗については、開発者向けドキュメントをご覧ください。
詳しくは、開発者ドキュメントの スナップショットの作成を参照してください。
シナリオ 3: スナップショットなし、ビルドの安定した状態(SSH接続が利用可能)
このセクションでは、スナップショットを作成していないが、SSH経由で環境にアクセスできる場合の環境のリセット方法について説明します。
手順は次のとおりです。
- 構成管理を無効にします。
- Adobe Commerce ソフトウェアをアンインストールします。
- git ブランチをリセットします。
次の手順を実行した後:
- Adobe CommerceのインストールがVanilla状態に戻ります(データベースが復元されました。デプロイメント設定は削除されました。
var以下のディレクトリはクリアされました)。 - git ブランチが過去の状態にリセットされました。
詳細な手順は、次のとおりです。
手順0 (前提条件):config.phpを削除してConfiguration Managementを無効にする
デプロイメント時に以前の設定設定を自動的に適用しないように、構成管理を無効にする必要があります。
構成管理を無効にするには、/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 resetを使用してAdobe Commerce アプリケーションの動作状態を復元してから、Adobe Commerce ソフトウェアをアンインストールする必要があります(データベースをドロップして復元するには、デプロイメント設定を削除するなど)。 シナリオには、シナリオ 3と同じステップが含まれますが、ステップの順序は異なり、追加のステップ(強制的な再展開)があります。 手順は次のとおりです。
これらの手順を実行すると、シナリオ 3と同じ結果が得られます。
手順4:強制的に再デプロイ
コミットを行い(これは空のコミットかもしれませんが、推奨しません)、トリガーの再デプロイのためにサーバにプッシュします。
git commit --allow-empty -m "<message>" && git push <origin> <branch>
セットアップ :uninstallが失敗した場合は、データベースを手動でリセットしてください
setup:uninstall コマンドの実行がエラーで失敗し、完了できない場合は、次の手順でDBを手動でクリアできます。
- 環境へのSSH。
- MySQL DBに接続します:
mysql -h database.internal(Pro環境の場合は、MySQL サービスの設定を参照)。 mainDBをドロップ :drop database main;- 空の
mainDBを作成:create database main; - 次の設定ファイルを削除します:
config.php、config.php.bak、env.php、env.php.bak
DBをリセットした後、a git プッシュしてトリガーの再デプロイ を行い、新しく作成したDBにAdobe Commerceをインストールします。 またはredeploy コマンドを実行します。