升级项目以使用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挂接属性,然后执行编辑器更新。

若要将项目升级为使用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