Commerceのバージョンのアップグレード
Adobe Commerceのコードベースを新しいバージョンにアップグレードできます。 プロジェクトをアップグレードする前に、最新のソフトウェア バージョン要件については インストールガイドの システム要件 を確認してください。
プロジェクトの設定に応じて、アップグレードタスクには次のものが含まれる場合があります。
- 新しいAdobe Commerce バージョンとの互換性を保つため、MariaDB (MySQL)、OpenSearch、RabbitMQ、Redis の新しいバージョンで
.magento/services.yaml
ファイルをアップデートします。 - フックと環境変数の新しい設定で
.magento.app.yaml
ファイルを更新します。 - サードパーティの拡張機能をサポートされている最新バージョンにアップグレードします。
-
Pro プロジェクトの場合、 および環境でのみ サービスをインストールまたは更新するには、
Staging
Adobe 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:dump
note 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-update
note 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: 品質パッチのリリースノートで該当するバージョンを確認してください
方法 2: 使用可能なパッチおよびステータスの表示
方法 3: パッチの検索
-
-
コードの変更を追加、コミットおよびプッシュします。
code language-bash git add -A
code 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>