ECE-Tools パッケージを使用するようにプロジェクトをアップグレード

Adobeでは、magento/magento-cloud-configuration パッケージと magento/ece-patches パッケージを非推奨(廃止予定)にし、多くのクラウドプロセスを簡素化する ece-tools パッケージを優先しました。 ece-tools パッケージを含 ない 古いAdobe Commerce on cloud infrastructure プロジェクトを使用する場合は、プロジェクトに対して 1 回限りの手動 アップグレード プロセスを実行する必要があります。

WARNING
プロジェクトに ece-tools パッケージが含まれている場合は、次のアップグレードをスキップできます。 検証するには、ローカルプロジェクトのルートディレクトリで php vendor/bin/ece-tools -V コマンドを使用して Commerce バージョンを取得します。

このプロジェクトのアップグレードプロセスでは、ルートディレクトリにある composer.json ファイルの magento/magento-cloud-metapackage バージョン制約を更新する必要があります。 この制約により、現在のAdobe Commerce バージョンをアップグレードすることなく、クラウドインフラストラクチャメタパッケージ(非推奨パッケージの削除など)上のAdobe Commerceを更新できます。

TIP
アップグレードまたはパッチ適用プロセスを開始する前に、統合環境からアクティブなブランチを作成し、新しいブランチをローカルワークステーションにチェックアウトします。 分岐をアップグレードまたはパッチプロセスに割り当てると、進行中の作業への干渉を回避できます。

非推奨(廃止予定)のパッケージを削除

ece-tools パッケージを使用するようにアップグレードを実行する前に、composer.lock ファイルで以下の非推奨パッケージを確認してください。

  • magento/magento-cloud-configuration
  • magento/ece-patches

メタパッケージの更新

Adobe Commerceの各バージョンには、次に基づいて異なる制約が必要です。

>=current_version <next_version
  • current_version しくは、インストールするAdobe Commerceのバージョンを指定します。
  • next_version:current_version で指定した値の後の次のパッチバージョンを指定します。

Adobe Commerce 2.3.5-p2 をインストールする場合は、current_version2.3.5 に、next_version2.3.6 に設定します。 制約 ">=2.3.5 <2.3.6" は、2.3.5 で利用可能な最新のパッケージをインストールします。

最新のメタパッケージ制約は、magento-cloud のテンプレートで常に見つけることができす。

次の例では、クラウドインフラストラクチャメタパッケージ上のAdobe Commerceを、現在のバージョン 2.4.7 以上、次のバージョン 2.4.8 以下の任意のバージョンに制限します。

"require": {
    "magento/magento-cloud-metapackage": ">=2.4.7 <2.4.8"
},

プロジェクトのアップグレード

ece-tools パッケージを使用するようにプロジェクトをアップグレードするには、メタパッケージおよび .magento.app.yaml フック プロパティを更新し、Composer の更新を実行する必要があります。

ece-tools を使用するようにプロジェクトをアップグレードするには:

  1. composer.json ファイルの magento/magento-cloud-metapackage バージョン制約を更新します。

    code language-bash
    composer require "magento/magento-cloud-metapackage":">=2.4.7 <2.4.8" --no-update
    
  2. メタパッケージを更新します。

    code language-bash
    composer update magento/magento-cloud-metapackage
    
  3. magento.app.yaml ファイルのフック コマンドを修正します。

    code language-yaml
    hooks:
        # We run build hooks before your application has been packaged.
        build: |
            set -e
            php ./vendor/bin/ece-tools run scenario/build/generate.xml
            php ./vendor/bin/ece-tools run scenario/build/transfer.xml
        # We run deploy hook after your application has been deployed and started.
        deploy: |
            php ./vendor/bin/ece-tools run scenario/deploy.xml
        # We run post deploy hook to clean and warm the cache. Available with ECE-Tools 2002.0.10.
        post_deploy: |
            php ./vendor/bin/ece-tools run scenario/post-deploy.xml
    
  4. 非推奨パッケージを確認して削除します。 非推奨パッケージを使用すると、アップグレードが正常に行われなくなる可能性があります。

    code language-bash
    composer remove magento/magento-cloud-configuration
    
    code language-bash
    composer remove magento/ece-patches
    
  5. 場合によっては、ece-tools パッケージを更新する必要があります。

    code language-bash
    composer update magento/ece-tools
    
  6. コードの変更内容を追加してコミットします。 この例では、次のファイルが更新されました。

    code language-none
    .magento.app.yaml
    composer.json
    composer.lock
    
  7. コードの変更をリモートサーバーにプッシュし、このブランチを integration ブランチとマージします。

    code language-bash
    git push origin <branch-name>
    
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26