Commerce バージョンのアップグレード
Adobe Commerce コードベースを新しいバージョンにアップグレードできます。 環境をアップグレードする前に、インストール ガイドの必要システム構成を参照して、最新のソフトウェアバージョン要件を確認してください。
環境タイプ(開発、ステージング、実稼動)に応じて、アップグレード タスクには次のものが含まれます。
-
サードパーティ製の拡張機能を、サポートされている最新バージョンにアップグレードします。
-
Pro プロジェクトの場合、ステージング環境と実稼動環境でサービスをインストールまたは更新するには、Adobe Commerce サポートチケットを送信する必要があります。
-
開発/統合/PR ブランチの場合:
- 新しいバージョンのAdobe Commerceとの互換性を確保するために、MariaDB (MySQL)、OpenSearch、RabbitMQ、およびRedisの新しいバージョンで
.magento/services.yamlファイルを更新します。 - フックと環境変数の新しい設定で
.magento.app.yamlファイルを更新します。
- 新しいバージョンのAdobe Commerceとの互換性を確保するために、MariaDB (MySQL)、OpenSearch、RabbitMQ、およびRedisの新しいバージョンで
-
Pro プロジェクトの場合、
StagingおよびProduction環境でのみ サービス をインストールまたは更新するには、Adobe Commerce サポートチケット を送信する必要があります。 -
必要なサービス変更を示し、更新された
.magento.app.yamlおよびservices.yamlファイルを含め、チケットにPHP バージョンを明記します。 PHPのバージョン、拡張機能、環境設定に対するセルフサービスの変更については、アプリケーション設定のPHP設定を参照してください。note important IMPORTANT 新しいチケットフォームで「環境」フィールドを選択する場合は、Adobeの環境命名を使用します。 例えば、その環境 Dev を内部的に呼び出す場合でも、「ステージング」を選択します。 説明に内部名を記載できますが、「環境」フィールド自体にはAdobeの命名規則を使用する必要があります。 -
実稼動環境(Proのみ)への変更の場合、48時間以上の通知が必要です。 これにより、クラウドインフラチームはリソースを集め、安全なアップグレードを行うのに十分な時間を確保できます。 通知期間は、インフラチームがリクエストを確認し、週末を除くアップグレードをスケジュールした時点から開始されます。 例えば、月曜日にサービスのアップグレードを完了させるには、水曜日までにスケジュールされたアップグレードの確認を受け取る必要があります。 需要のピーク時には、リクエストの処理により多くの時間がかかる場合があります。
note note NOTE すべての通信で明確さと一貫性を確保するために、スケジュールされたすべてのメンテナンスウィンドウをUTC形式で提供する必要があります。 ステージング環境ではサービスのアップグレードをスケジュールできません。ほとんどの場合、ステージングのアップグレードはリクエストと同じ日に実行されます。 RabbitMQ アップグレードをリクエストする場合は、アップグレード完了後に環境を再デプロイして、メッセージキューが再初期化されるようにしてください。 -
アップグレードのスケジュールを設定するための2部構成のハンドシェイクプロセス
スムーズで調和のとれたアップグレードプロセスを実現するために、Adobe Commerce サポートでは、すべての実稼動環境のアップグレードに対して2部構成のハンドシェイクプロセスを実行します。
- お客様確認:Adobe サポートは、お客様がアップグレードの希望日時を確認することを最初にリクエストします。 このステップにより、スケジュールが顧客のビジネスニーズとメンテナンスウィンドウに合致していることを確認します。
- スケジュール設定と最終確認:お客様がタイミングを確認すると、Adobe サポートはインフラストラクチャチームにリクエストを送信し、その後、リクエストを確認し、スケジュールされたアップグレードウィンドウの最終確認を行います。
アップグレードは、インフラチームが最終確認を行うまでスケジュールされたとは見なされません。 お客様には、遅延を回避し、適切な通知を行うために、アップグレード期間の少なくとも48時間前に迅速に対応することが推奨されます。
設定ファイル
アプリケーションをアップグレードする前に、クラウドインフラストラクチャまたはアプリケーション上のAdobe Commerceのデフォルト設定の変更を考慮して、プロジェクト設定ファイルを更新する必要があります。 最新のデフォルトは、magento-cloud GitHub リポジトリ にあります。
composer.json
アップグレードする前に、常にcomposer.json ファイルの依存関係がAdobe Commerce バージョンと互換性があることを確認してください。
Adobe Commerce バージョン 2.4.4以降のcomposer.json ファイルを更新するには**
-
次の
allow-pluginsをconfigセクションに追加します。code language-json "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true } }, -
次のプラグインを
requireセクションに追加します。code language-json "require": { "magento/composer-root-update-plugin": "^2.0.3" }, -
次のコンポーネントを
extra:component_pathsセクションに追加します。code language-json "extra": { "component_paths": { "tinymce/tinymce": "lib/web/tiny_mce_5" }, }, -
ファイルを保存します。 まだブランチに変更をコミットまたはプッシュしないでください。
-
アップグレードプロセスを続行します。
環境バックアップ
アップグレードの前にインスタンスのバックアップを作成することをお勧めします。 統合環境、ステージング環境および実稼動環境をバックアップするには、次の手順を実行します。
統合環境データベースとコードをバックアップするには:
-
リモートデータベースのローカルバックアップを作成します。
code language-bash magento-cloud db:dumpnote note NOTE magento-cloud db:dumpコマンドはmysqldump コマンドを--single-transactionフラグで実行します。これにより、テーブルをロックせずにデータベースをバックアップできます。 -
コードとメディアをバックアップします。
code language-bash php bin/magento setup:backup --code [--media]ソース管理に既に多数の静的ファイルがある場合は、オプションで
[--media]を省略できます。
デプロイする前に、ステージング環境または実稼動環境のデータベースをバックアップするには、:
-
SSHを使用してリモート環境にログインします。
-
データベースダンプ を作成します。 DB ダンプのターゲットディレクトリを選択するには、
--dump-directoryオプションを使用します。code language-bash vendor/bin/ece-tools db-dumpダンプ操作により、リモート プロジェクト ディレクトリに
dump-<timestamp>.sql.gzアーカイブ ファイルが作成されます。 データベースのバックアップ を参照してください。
アプリケーションのアップグレード
アプリケーションをアップグレードする前に、最新のソフトウェアバージョン要件について、 サービスバージョン の情報を確認してください。
アプリケーションのバージョンをアップグレードするには:
-
ローカル ワークステーションで、プロジェクト ディレクトリに移動します。
-
ターゲット アップグレード バージョンの バージョン制約を設定します。 この手順は、ターゲットバージョンが既存の制約の範囲外にある場合にのみ必要です。
code language-bash composer require-commerce "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-updatenote note NOTE バージョン制約の構文を使用して、 ece-toolsパッケージを正常に更新する必要があります。 アップグレードに使用している アプリケーションテンプレート のバージョンのcomposer.jsonファイルにバージョン制約があります。 -
コア Commerce アップグレード バージョンで
composer.jsonファイルを更新します。code language-bash composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update -
B2Bを使用している場合は、
composer.jsonファイルを サポートされているバージョン のCommerceに更新します。code language-bash composer require-commerce magento/extension-b2b 1.5.2 --no-update -
プロジェクトの依存関係を更新する:
code language-bash composer update -
現在適用されているパッチを確認します。
-
m2-hotfixesディレクトリにパッチがインストールされている場合、Adobe Commerce サポートチケット を送信し、Adobe Commerce サポートと協力して、新しいバージョンにまだ適用できるパッチを確認します。 該当しないパッチをm2-hotfixesディレクトリから削除します。 -
.magento.env.yamlファイルに適用されている[品質パッチ ]がある場合は、新しいバージョンにまだ適用できるかどうかを確認します。.magento.env.yamlファイルのQUALITY_PATCHESセクションから該当しないパッチを削除します。
方法1: 品質パッチのリリースノートで該当するバージョンを確認する
方法2: 使用可能なパッチとステータスを表示
方法3: パッチの検索
-
-
コードの変更を追加、コミット、プッシュします。
code language-bash git add -Acode language-bash git commit -m "Upgrade"code language-bash git push origin <branch-name>Composerが基本パッケージをマーシャルする方法のため、変更されたすべてのファイルをソース管理に追加するには、
git add -Aが必要です。composer installとcomposer updateの両方が、基本パッケージ (magento/magento2-baseとmagento/magento2-ee-base)からパッケージルートにファイルをマーシャルします。コンポーザーのマーシャルが新しいバージョンのAdobe Commerceに属するファイル。これらの同じファイルの古いバージョンを上書きします。 現在、Adobe Commerceではマーシャリングは無効になっているので、マーシャリングされたファイルをソースコントロールに追加する必要があります。
-
デプロイメントが完了するのを待ちます。
-
SSHを使用してログインし、バージョンを確認して、統合環境、ステージング環境、実稼動環境のアップグレードを確認します。
code language-bash php bin/magento --version
拡張機能をアップグレード
Marketplaceや他社のサイトで、サードパーティの拡張機能やモジュールページを確認し、Adobe CommerceおよびAdobe Commerce on cloud インフラストラクチャのサポートを確認します。 サードパーティの拡張機能とモジュールをアップグレードする必要がある場合は、拡張機能を無効にして新しい統合ブランチで作業することをお勧めします。
拡張機能を確認してアップグレードするには:
-
ローカルワークステーションにブランチを作成します。
-
必要に応じて拡張機能を無効にします。
-
利用可能な場合は、拡張機能のアップグレードをダウンロードします。
-
サードパーティのドキュメントに記載されているように、アップグレードをインストールします。
-
拡張機能を有効にしてテストします。
-
コードの変更を追加し、コミットし、リモートにプッシュします。
-
統合環境でプッシュしてテストします。
-
ステージング環境にプッシュして、プリプロダクション環境でテストします。
Adobeでは、サイト起動プロセスにアップグレードされた拡張機能を含め、実稼動環境 before をアップグレードすることを強くお勧めします。
アップグレードのトラブルシューティング
アップグレードに失敗した場合、ストアフロントまたは管理パネルにアクセスできないことを示すエラーメッセージがブラウザーに表示されます。
There has been an error processing your request
Exception printing is disabled by default for security reasons.
Error log record number: <error-number>
エラーを解決するには:
-
ローカル ワークステーションで、プロジェクト ディレクトリに移動します。
-
SSHを使用してリモート環境にログインします。
code language-bash magento-cloud ssh -
./app/var/report/<error number>ファイルを開きます。 -
ログを調べ問題の原因を特定します。
-
コードの変更を追加、コミット、プッシュします。
code language-bash git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>