升级项目以使用ECE-Tools包
Adobe已弃用magento/magento-cloud-configuration
和magento/ece-patches
包,而支持ece-tools
包,这简化了许多云进程。 如果您在云基础架构项目上使用早期的Adobe Commerce,但 不 包含ece-tools
包,则必须执行一次性的手动 升级 过程。
ece-tools
包,则可以跳过以下升级。 要验证,请使用本地项目根目录中的php vendor/bin/ece-tools -V
命令检索Commerce版本。此项目升级过程要求您更新根目录composer.json
文件中的magento/magento-cloud-metapackage
版本约束。 此限制允许对Adobe Commerce进行云基础架构中继(包括删除已弃用的包)的更新,而无需升级您当前的Adobe Commerce版本。
移除已弃用的包
在执行升级以使用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:
-
更新
composer.json
文件中的magento/magento-cloud-metapackage
版本约束。code language-bash composer require "magento/magento-cloud-metapackage":">=2.4.7 <2.4.8" --no-update
-
更新中继。
code language-bash composer update magento/magento-cloud-metapackage
-
修改
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
-
检查并删除已弃用的包。 已弃用的包可能会阻止成功升级。
code language-bash composer remove magento/magento-cloud-configuration
code language-bash composer remove magento/ece-patches
-
可能需要更新
ece-tools
包。code language-bash composer update magento/ece-tools
-
添加并提交代码更改。 在此示例中,更新了以下文件:
code language-none .magento.app.yaml composer.json composer.lock
-
将代码更改推送到远程服务器,并将此分支与
integration
分支合并。code language-bash git push origin <branch-name>