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

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

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

環境タイプ(開発、ステージング、実稼動)に応じて、アップグレード タスクには次のものが含まれます。

  • サードパーティ製の拡張機能を、サポートされている最新バージョンにアップグレードします。

  • Pro プロジェクトの場合、ステージング環境と実稼動環境でサービスをインストールまたは更新するには、Adobe Commerce サポートチケットを送信する必要があります。

  • 開発/統合/PR ブランチの場合:

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

    1. お客様確認:Adobe サポートは、お客様がアップグレードの希望日時を確認することを最初にリクエストします。 このステップにより、スケジュールが顧客のビジネスニーズとメンテナンスウィンドウに合致していることを確認します。
    2. スケジュール設定と最終確認:お客様がタイミングを確認すると、Adobe サポートはインフラストラクチャチームにリクエストを送信し、その後、リクエストを確認し、スケジュールされたアップグレードウィンドウの最終確認を行います。

アップグレードは、インフラチームが最終確認を行うまでスケジュールされたとは見なされません。 お客様には、遅延を回避し、適切な通知を行うために、アップグレード期間の少なくとも48時間前に迅速に対応することが推奨されます。

設定ファイル

アプリケーションをアップグレードする前に、クラウドインフラストラクチャまたはアプリケーション上のAdobe Commerceのデフォルト設定の変更を考慮して、プロジェクト設定ファイルを更新する必要があります。 最新のデフォルトは、magento-cloud GitHub リポジトリ ​にあります。

composer.json

アップグレードする前に、常にcomposer.json ファイルの依存関係がAdobe Commerce バージョンと互換性があることを確認してください。

Adobe Commerce バージョン 2.4.4以降のcomposer.json ファイルを更新するには**

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

    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を使用している場合は、composer.json ファイルを​ サポートされているバージョン ​のCommerceに更新します。

    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 ファイルに適用されている[品質パッチ ]がある場合は、新しいバージョンにまだ適用できるかどうかを確認します。 .magento.env.yaml ファイルのQUALITY_PATCHES セクションから該当しないパッチを削除します。

    方法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)からパッケージルートにファイルをマーシャルします。

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

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

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

    code language-bash
    php bin/magento --version
    

拡張機能をアップグレード

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

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

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

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

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

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

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

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

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

  8. ステージング環境にプッシュして、プリプロダクション環境でテストします。

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

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