升級專案以使用ECE-Tools套件

Adobe已棄用magento/magento-cloud-configurationmagento/ece-patches封裝,而改用ece-tools封裝,這會簡化許多雲端程式。 如果您在雲端基礎結構專案上使用舊版的Adobe Commerce,但​ ​包含ece-tools套件,則必須執行一次性的手動​ 升級 ​程式至您的專案。

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_version設為2.3.5,並將next_version設為2.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