[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

Commerceのバージョンのアップグレード

Adobe Commerceのコードベースを新しいバージョンにアップグレードできます。 プロジェクトをアップグレードする前に、最新のソフトウェア バージョン要件については インストールガイドの システム要件 を確認してください。

プロジェクトの設定に応じて、アップグレードタスクには次のものが含まれる場合があります。

  • 新しいAdobe Commerce バージョンとの互換性を保つため、MariaDB (MySQL)、OpenSearch、RabbitMQ、Redis の新しいバージョンで .magento/services.yaml ファイルをアップデートします。
  • フックと環境変数の新しい設定で .magento.app.yaml ファイルを更新します。
  • サードパーティの拡張機能をサポートされている最新バージョンにアップグレードします。
TIP
アップグレードまたはパッチ適用プロセスを開始する前に、統合環境からアクティブなブランチを作成し、新しいブランチをローカルワークステーションにチェックアウトします。 分岐をアップグレードまたはパッチプロセスに割り当てると、進行中の作業への干渉を回避できます。
recommendation-more-help
  • 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 ファイルを更新するには、**の手順を実行します。

  1. allow-plugins セクションに次の config を追加します。

    code language-json
    "config": {
       "allow-plugins": {
          "dealerdirect/phpcodesniffer-composer-installer": true,
          "laminas/laminas-dependency-plugin": true,
          "magento/*": true
       }
    },
    
  2. require セクションに次のプラグインを追加します。

    code language-json
    "require": {
        "magento/composer-root-update-plugin": "^2.0.3"
    },
    
  3. extra:component_paths セクションに次のコンポーネントを追加します。

    code language-json
    "extra": {
       "component_paths": {
          "tinymce/tinymce": "lib/web/tiny_mce_5"
       },
    },
    
  4. ファイルを保存します。 ブランチの変更はまだコミットまたはプッシュしないでください。

  5. アップグレードプロセスを続行します。

プロジェクトのバックアップ

アップグレードの前に、プロジェクトのバックアップを作成することをお勧めします。 統合環境、ステージング環境、実稼動環境をバックアップするには、次の手順を使用します。

統合環境のデータベースとコードをバックアップするには:

  1. リモート・データベースのローカル・バックアップを作成します。

    code language-bash
    magento-cloud db:dump
    
    note note
    NOTE
    magento-cloud db:dump コマンドは、 フラグを指定してmysqldump--single-transaction コマンドを実行します。これにより、テーブルをロックせずにデータベースをバックアップできます。
  2. コードとメディアをバックアップします。

    code language-bash
    php bin/magento setup:backup --code [--media]
    

    オプションで、既にソース管理内にある静的ファイルが多数ある場合は、[--media] を省略できます。

デプロイする前にステージング環境または実稼動環境のデータベースをバックアップするには、 の手順に従います。

  1. SSH を使用してリモート環境にログインします。

  2. データベースダンプを作成します。 DB ダンプのターゲット・ディレクトリを選択するには、--dump-directory オプションを使用します。

    code language-bash
    vendor/bin/ece-tools db-dump
    

    ダンプ操作では、リモート・プロジェクト・ディレクトリに dump-<timestamp>.sql.gz アーカイブ・ファイルが作成されます。 データベースのバックアップを参照してください。

アプリケーションのアップグレード

アプリケーションをアップグレードする前に、最新のソフトウェアバージョン要件の サービスバージョン情報を確認してください。

アプリケーションのバージョンをアップグレードするには:

  1. ローカルワークステーションで、をプロジェクトディレクトリに変更します。

  2. ターゲットのアップグレード バージョンに対して バージョン制約を設定します。 この手順は、ターゲットバージョンが既存の制約の範囲外にある場合にのみ必要です。

    code language-bash
    composer require-commerce "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-update
    
    note note
    NOTE
    ece-tools パッケージを正常に更新するには、バージョン制約構文を使用する必要があります。 アップグレードに使用する composer.json アプリケーションテンプレート のバージョンのバージョン制約をファイルで確認できます。
  3. コアのCommerce アップグレードバージョンで composer.json ファイルを更新します。

    code language-bash
    composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update
    
  4. B2B を使用している場合は、Commerceの composer.json サポートされているバージョン ファイルをアップデートします。

    code language-bash
    composer require-commerce magento/extension-b2b 1.5.2 --no-update
    
  5. プロジェクトの依存関係を更新します。

    code language-bash
    composer update
    
  6. 現在適用されているパッチを確認します。

    • m2-hotfixes ディレクトリにパッチがインストールされている場合は、Adobe Commerce サポートチケットを送信し、Adobe Commerce サポートに連絡して、新しいバージョンに適用可能なパッチを確認します。 該当しないパッチを m2-hotfixes ディレクトリから削除します。

    • [ ファイルに ] 品質向上パッチ .magento.env.yaml が適用されている場合は、そのパッチを新しいバージョンにも適用できるかどうかを確認します。 QUALITY_PATCHES ファイルの .magento.env.yaml セクションから、適用できないパッチを削除します。

    方法 1: 品質パッチのリリースノートで該当するバージョンを確認してください

    方法 2: 使用可能なパッチおよびステータスの表示

    方法 3: パッチの検索

  7. コードの変更を追加、コミットおよびプッシュします。

    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 installcomposer update の両方で、ベースパッケージ(magento/magento2-basemagento/magento2-ee-base)からパッケージルートにファイルをマーシャリングします。

    Composer マーシャリングが属するファイルは、古いバージョンのAdobe Commerceを上書きするために新しいバージョンのファイルです。 現在、Adobe Commerceではマーシャリングが無効になっているので、マーシャリングされたファイルをソース管理に追加する必要があります。

  8. デプロイメントが完了するまで待ちます。

  9. SSH を使用してログインし、バージョンを確認して、統合環境、ステージング環境、実稼動環境でアップグレードを検証します。

    code language-bash
    php bin/magento --version
    

アップグレード拡張機能

Marketplace または他の会社のサイトでサードパーティの拡張機能およびモジュールページを確認し、クラウドインフラストラクチャでのAdobe CommerceおよびAdobe Commerceのサポートを検証します。 サードパーティの拡張機能およびモジュールをアップグレードする必要がある場合、Adobeでは、拡張機能を無効にした新しい統合ブランチで作業することをお勧めします。

拡張機能を検証してアップグレードするには:

  1. ローカルワークステーションにブランチを作成します。

  2. 必要に応じて、拡張機能を無効にします。

  3. 使用可能な場合は、拡張機能のアップグレードをダウンロードします。

  4. サードパーティのドキュメントに記載されているとおりに、アップグレードをインストールします。

  5. 拡張機能を有効にしてテストします。

  6. コードの変更を追加、コミットし、リモートにプッシュします。

  7. 統合環境でにプッシュしてテストします。

  8. ステージング環境にプッシュして、実稼動前の環境でテストします。

Adobeでは、アップグレードした拡張機能をサイト起動プロセスに含め 実稼動環境 以前)をアップグレードすることを強くお勧めします。

NOTE
アプリケーションのバージョンをアップグレードすると、アップグレードプロセスが自動的に最新バージョンの Fastly CDN モジュールに更新されます。

アップグレードのトラブルシューティング

アップグレードに失敗すると、ストアフロントまたは管理パネルにアクセスできないことを示すエラーメッセージがブラウザーに表示されます。

There has been an error processing your request
Exception printing is disabled by default for security reasons.
  Error log record number: <error-number>

エラーを解決するには:

  1. ローカルワークステーションで、をプロジェクトディレクトリに変更します。

  2. SSH を使用してリモート環境にログインします。

    code language-bash
    magento-cloud ssh
    
  3. ./app/var/report/<error number> ファイルを開きます。

  4. ログを調べて問題の原因を特定します。

  5. コードの変更を追加、コミットおよびプッシュします。

    code language-bash
    git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>
    
7c2b03ac-000c-497d-aba3-2c6dc720a938