ece-tools package

The ece-tools package is a set of scripts and tools designed to manage and deploy Magento Commerce Cloud projects. The ece-tools package simplifies many Magento Commerce Cloud processes, such as deploying to a Docker environment, managing crons, verifying project configuration, and applying Magento patches and hot fixes. You can view and contribute to the open-source ece-tools repository on Github.

If you use a version of Magento Commerce Cloud that does not contain the ece-tools package, then you must upgrade your project. If you currently use the ece-tools package and you need to update it, see Update ece-tools version.

The ece-tools package is compatible with Magento Commerce—starting with version 2.1.4—and contains scripts and Magento Commerce Cloud commands designed to help manage your code and automatically build and deploy your projects.

The following lists the available ece-tools commands:

1
php ./vendor/bin/ece-tools list

Build and deploy

The ece-tools package contains commands to perform operations for the build, deploy, and post-deploy stages of launching your Magento Commerce Cloud application. For example, the php ./vendor/bin/ece-tools build command begins the application build process.

By default, these ece-tools commands are in the hooks property of the .magento.app.yaml configuration file.

Docker configuration generator

The ece-tools package includes a dependency for the magento/magento-cloud-docker package, which provides functionality and configuration files for Docker images to launch a Docker development environment for Magento Cloud. You can also run Magento Cloud Docker as a stand-alone package.

You use the following commands to generate the Docker configuration files and build your environment.

Command Action
ece-docker build:compose Builds the docker environment in production mode by default and verifies configured service versions.
ece-docker build:compose --mode="developer" Builds the docker environment in developer mode.
ece-docker build:compose --mode="production" Builds the docker environment in production mode.
ece-docker image:generate:php Convert PHP configuration files to Docker ENV files.

The following example lists the Magento Cloud Docker commands:

1
php ./vendor/bin/ece-docker list

Sample response:

1
2
3
4
5
6
7
8
9
10
11
12
13
Available commands:
  help                Displays help for a command
  list                Lists commands
 build
  build:compose       Build docker configuration
  build:dist          Generates Docker .dist files
 image
  image:generate:php  Generates proper configs
 build
  build:compose       Build docker configuration
  build:dist          Generates Docker .dist files
 image
  image:generate:php  Generates proper configs

See Docker development to learn more about using Magento Cloud Docker for development and testing your Magento Commerce Cloud projects.

Services, routes, and variables

You can use the ece-tools package to display detailed information about the Base64-encoded Cloud variables used in any Cloud environment. The following command shows all services, routes, and variables.

1
php ./vendor/bin/ece-tools env:config:show

To display a specific set of information, use the following format:

1
php ./vendor/bin/ece-tools env:config:show <option>
  • services—Displays the relationship data from the MAGENTO_CLOUD_RELATIONSHIPS environment variable, defined in the services.yaml file.
  • routes—Displays the configured routes for the project using the MAGENTO_CLOUD_ROUTES environment variable.
  • variables—Displays the configured variables for the project using the MAGENTO_CLOUD_VARIABLES environment variable.

Sample output for the services option:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Magento Cloud Services:
+-----------------------------------+----------------------------------+
| Service Configuration             | Value                            |
+-----------------------------------+----------------------------------+
| database:                                                            |
+-----------------------------------+----------------------------------+
| host                              | 127.0.0.1                        |
| password                          | <password>                       |
| port                              | 3306                             |
+-----------------------------------+----------------------------------+
| elasticsearch:                                                       |
+-----------------------------------+----------------------------------+
| host                              | 127.0.0.1                        |
| port                              | 9200                             |
...

Verify environment configuration

There is a set of verification commands available to help evaluate the configuration of your project. See Smart wizards in the Optimize deployment section for a detailed description of each wizard command. The wizard:ideal-state command runs automatically during the build phase. To verify the ideal state of your project:

1
php ./vendor/bin/ece-tools wizard:ideal-state

You must run the wizard:ideal-state command in the Cloud environment. The command always returns the The configured state is not ideal error when run in the local development environment.

Sample output:

1
Ideal state is configured

For current Magento Commerce Cloud release information, see Release notes for ece-tools.

Magento patches and custom patches

The ece-tools package includes a dependency for the magento/magento-cloud-patches package, which delivers Magento patches and hot fixes that improve the integration of all Magento Commerce versions with Cloud environments and supports quick delivery of critical fixes. The magento-cloud-patches also delivers custom patches that you add to your Magento Commerce Cloud project. See Apply patches.