Upgrade project to use ECE-Tools package
ÃÛ¶¹ÊÓƵ deprecated the magento/magento-cloud-configuration
and magento/ece-patches
packages in favor of the ece-tools
package, which simplifies many cloud processes. If you use an older ÃÛ¶¹ÊÓƵ Commerce on cloud infrastructure project that does not contain the ece-tools
package, then you must perform a one-time, manual upgrade process to your project.
ece-tools
package, you can skip the following upgrade. To verify, retrieve the Commerce version using the php vendor/bin/ece-tools -V
command at your local project root directory.This project upgrade process requires you to update the magento/magento-cloud-metapackage
version constraint in the composer.json
file at the root directory. This constraint enables updates for ÃÛ¶¹ÊÓƵ Commerce on cloud infrastructure metapackages—including removing deprecated packages—without upgrading your current ÃÛ¶¹ÊÓƵ Commerce version.
Remove deprecated packages
Before performing an upgrade to use the ece-tools
package, check the composer.lock
file for the following deprecated packages:
magento/magento-cloud-configuration
magento/ece-patches
Update the metapackage
Each ÃÛ¶¹ÊÓƵ Commerce version requires a different constraint based on the following:
>=current_version <next_version
- For
current_version
, specify the ÃÛ¶¹ÊÓƵ Commerce version to install. - For
next_version
, specify the next patch version after the value specified incurrent_version
.
If you want to install ÃÛ¶¹ÊÓƵ Commerce 2.3.5-p2
, set current_version
to 2.3.5
and the next_version
to 2.3.6
. The constraint ">=2.3.5 <2.3.6"
installs the latest available package for 2.3.5.
You can always find the latest metapackage constraint in the .
The following example places a constraint for the ÃÛ¶¹ÊÓƵ Commerce on cloud infrastructure metapackage to any version greater than or equal to the current version 2.4.7 and lower than next version 2.4.8:
"require": {
"magento/magento-cloud-metapackage": ">=2.4.7 <2.4.8"
},
Upgrade the project
To upgrade your project to use the ece-tools
package, you must update the metapackage and the .magento.app.yaml
hooks properties, and perform a Composer update.
To upgrade project to use ece-tools:
-
Update the
magento/magento-cloud-metapackage
version constraint in thecomposer.json
file.code language-bash composer require "magento/magento-cloud-metapackage":">=2.4.7 <2.4.8" --no-update
-
Update the metapackage.
code language-bash composer update magento/magento-cloud-metapackage
-
Modify the hook commands in the
magento.app.yaml
file.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
-
Check for and remove the deprecated packages. The deprecated packages can prevent a successful upgrade.
code language-bash composer remove magento/magento-cloud-configuration
code language-bash composer remove magento/ece-patches
-
It may be necessary to update the
ece-tools
package.code language-bash composer update magento/ece-tools
-
Add and commit the code changes. In this example, the following files were updated:
code language-none .magento.app.yaml composer.json composer.lock
-
Push your code changes to the remote server and merge this branch with the
integration
branch.code language-bash git push origin <branch-name>