Commerceのバージョンのアップグレード
Adobe Commerceのコードベースを新しいバージョンにアップグレードできます。 環境をアップグレードする前に、最新のソフトウェア バージョン要件について インストール ガイドの システム要件 を確認してください。
環境のタイプ(開発、ステージング、実稼動)に応じて、アップグレードタスクには次のものが含まれます。
- 新しいAdobe Commerce バージョンとの互換性を保つため、MariaDB (MySQL)、OpenSearch、RabbitMQ、Redis の新しいバージョンで
.magento/services.yamlファイルをアップデートします。 Pro プロジェクトの場合、ステージング環境と実稼動環境でサービスをインストールまたは更新するには、Adobe Commerce サポートチケットを送信する必要があります。 - フックと環境変数の新しい設定で
.magento.app.yamlファイルを更新します。 - サードパーティの拡張機能をサポートされている最新バージョンにアップグレードします。
-
Pro プロジェクトの場合、 および 環境でのみ サービス をインストールまたは更新するには、
StagingAdobe Commerce サポートチケットを送信Productionする必要があります。 -
必要なサービスの変更を示し、更新した
.magento.app.yamlファイルとservices.yamlファイルを含め、PHP バージョンをチケットに記載します。 PHP のバージョン、拡張機能、または環境設定のセルフサービスでの変更については、 アプリケーション設定 の PHP 設定 を参照してください。 -
実稼動環境(Pro のみ)に対する変更の場合は、少なくとも 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 を使用している場合は、Commerceの
composer.jsonサポートされているバージョン で ファイルをアップデートします。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が適用されている場合は、そのパッチを新しいバージョンにも適用できるかどうかを確認します。QUALITY_PATCHESファイルの.magento.env.yamlセクションから、適用できないパッチを削除します。
方法 1: 品質パッチのリリースノートで該当するバージョンを確認してください
方法 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)からパッケージルートにファイルをマーシャリングします。Composer マーシャリングが属するファイルは、古いバージョンのAdobe Commerceを上書きするために新しいバージョンのファイルです。 現在、Adobe Commerceではマーシャリングが無効になっているので、マーシャリングされたファイルをソース管理に追加する必要があります。
-
デプロイメントが完了するまで待ちます。
-
SSH を使用してログインし、バージョンを確認して、統合環境、ステージング環境、実稼動環境でアップグレードを検証します。
code language-bash php bin/magento --version
アップグレード拡張機能
Marketplace または他の会社のサイトでサードパーティの拡張機能およびモジュールページを確認し、クラウドインフラストラクチャでのAdobe CommerceおよびAdobe Commerceのサポートを検証します。 サードパーティの拡張機能およびモジュールをアップグレードする必要がある場合、Adobeでは、拡張機能を無効にした新しい統合ブランチで作業することをお勧めします。
拡張機能を検証してアップグレードするには:
-
ローカルワークステーションにブランチを作成します。
-
必要に応じて、拡張機能を無効にします。
-
使用可能な場合は、拡張機能のアップグレードをダウンロードします。
-
サードパーティのドキュメントに記載されているとおりに、アップグレードをインストールします。
-
拡張機能を有効にしてテストします。
-
コードの変更を追加、コミットし、リモートにプッシュします。
-
統合環境でにプッシュしてテストします。
-
ステージング環境にプッシュして、実稼動前の環境でテストします。
Adobeでは、アップグレードした拡張機能をサイト起動プロセスに含め 実稼動環境 以前)をアップグレードすることを強くお勧めします。
アップグレードのトラブルシューティング
アップグレードに失敗すると、ストアフロントまたは管理パネルにアクセスできないことを示すエラーメッセージがブラウザーに表示されます。
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>