クラウドスナップショットを使用しない環境のロールバック
この記事では、クラウドインフラストラクチャー上のAdobe Commerceで環境のスナップショットを作成することなく、環境をロールバックする 2 つのソリューションについて説明します。
影響を受ける製品とバージョン
- クラウドインフラストラクチャー上のAdobe Commerce すべてのサポートされているバージョン
お客様の状況に最も適したものを選択してください。
- 安定したビルドがあるが、有効なスナップショットがない場合 – シナリオ 1:スナップショットがなく、安定して構築(SSH 接続を使用可能).
- ビルドが破損しており、有効なスナップショットがない場合 – シナリオ 2:スナップショットがない、ビルドが破損している(SSH 接続がない).
シナリオ 1:スナップショットがなく、安定して構築(SSH 接続を使用可能) scen2
ここでは、スナップショットを作成していないが、SSH 経由で環境にアクセスできる場合に、環境をロールバックする方法について説明します。
手順は次のとおりです。
- 構成管理を無効にします。
- Adobe Commerce ソフトウェアをアンインストールします。
- Git ブランチをリセットします。
これらの手順を実行した後:
- Adobe Commerceのインストールがバニラ状態に戻ります(データベースが復元されました。デプロイメント設定が削除されました。次のディレクトリにあります
var
クリア) - git ブランチが過去に目的の状態にリセットされます
以下の詳細な手順を参照してください。
手順 0 (前提条件):config.php を削除して、構成管理を無効にします disable_config_management
デプロイメント中に以前の設定が自動的に適用されないように、設定管理を無効にする必要があります。
設定管理を無効にするには、 /app/etc/
ディレクトリにが含まれていない config.php
(Adobe Commerce 2.2.x の場合)または config.local.php
(Adobe Commerce 2.1.x 用) ファイル。
設定ファイルを削除するには、次の手順に従います。
-
設定ファイルを削除します。
- Adobe Commerce 2.2 の場合:
code language-php rm app/etc/config.php
- Adobe Commerce 2.1 の場合:
code language-php rm app/etc/config.local.php
次の項目を確認して、設定管理の詳細を学びます。
- クラウドインフラストラクチャ上のAdobe Commerceでのデプロイメントのダウンタイムを短縮 サポートナレッジベースで。
- ストア設定の設定管理 開発者向けドキュメントを参照してください。
手順 1uninstall コマンドを使用してAdobe Commerce ソフトウェアをアンインストールする setup-uninstall
Adobe Commerce ソフトウェアをアンインストールすると、データベースが削除されて復元され、配置設定が削除されて、次のディレクトリがクリアされます var
.
レビュー Adobe Commerce ソフトウェアをアンインストールします 開発者向けドキュメントを参照してください。
Adobe Commerce ソフトウェアをアンインストールするには、次の手順に従います。
-
実行
setup:uninstall
:code language-php php bin/magento setup:uninstall
-
アンインストールを確認します。
次のメッセージが表示され、アンインストールが正常に完了したことを確認します。
[SUCCESS]: Magento uninstallation complete.
つまり、Adobe Commerce(DB を含む)のインストールが本物の(Vanilla)状態に戻りました。
手順 2:Git ブランチのリセット reset-git-branch
Git をリセットすると、コードが以前に目的の状態に戻ります。
-
ローカル開発環境に環境のクローンを作成します。 Cloud Console で次のコマンドをコピーできます。
-
コミット履歴にアクセスします。 使用方法
--reverse
履歴を逆順に表示して利便性を高めるには:code language-git git log --reverse
-
正常に動作しているコミットハッシュを選択します。 コードを本物の状態(Vanilla)にリセットするには、ブランチ(環境)を作成した最初のコミットを見つけます。
-
ハード Git リセットの適用:
code language-git git reset --h <commit_hash>
-
変更をサーバーにプッシュ:
code language-git git push --force <origin> <branch>
これらの手順を実行すると、Git ブランチがリセットされ、Git の変更ログ全体がクリアされます。 最後の Git プッシュは、すべての変更を適用してAdobe Commerceを再インストールするために再デプロイすることをトリガーします。
シナリオ 2:スナップショットがない、ビルドが破損している(SSH 接続がない) scen3
ここでは、重要な状態の環境をロールバックする方法について説明します。デプロイ手順では、正常に動作するアプリケーションを構築できないため、SSH 接続が使用できなくなります。
このシナリオでは、まず Git リセットを使用してAdobe Commerce アプリケーションの動作ステータスを復元し、次にAdobe Commerce ソフトウェアをアンインストールして、データベースをドロップして復元したり、デプロイメント設定を削除したりします。 シナリオにはシナリオ 1 と同じステップが含まれますが、ステップの順序は異なり、追加のステップとして再デプロイが強制されます。 手順は次のとおりです。
3. Adobe Commerce ソフトウェアをアンインストールします。
4&period;強制的に再デプロイします。
これらの手順を実行すると、シナリオ 1 と同じ結果が得られます。
手順 4:再デプロイの強制
コミットを作成し(これは空のコミットである可能性がありますが、お勧めしません)、トリガーにプッシュして再デプロイします。
git commit --allow-empty -m "<message>" && git push <origin> <branch>
setup:uninstall が失敗した場合は、データベースを手動でリセットします
を実行する場合 setup:uninstall
コマンドがエラーで失敗し、完了できません。次の手順で DB を手動でクリアします。
-
MySQL DB に接続します。
code language-sql mysql -h database.internal
-
をドロップ
main
DB:code language-sql drop database main;
-
空のを作成
main
DB:code language-sql create database main;
-
次の設定ファイルを削除します。
config.php
,config.php
.bak
,env.php
、およびenv.php.bak
.
DB のリセット後、 トリガーに git プッシュを送信して、環境を再デプロイします。 新規作成した DB にAdobe Commerceをインストールします。 または redeploy コマンドを実行する.
関連資料
開発者向けドキュメントでは、