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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Available commands:
  build                    Builds application
  db-dump                  Creates backup of database
  deploy                   Deploys application
  help                     Displays help for a command
  list                     Lists commands
  patch                    Applies custom patches
  post-deploy              Performs after deploy operations.
  run                      Execute scenario(s)
 backup
  backup:list              Shows the list of backup files
  backup:restore           Restore important configuration files. Run backup:list to show the list of backup files
 build
  build:generate           Generates all necessary files for build stage
  build:transfer           Transfer generated files into init directory
 config
  config:dump              [dump] Dump configuration for static content deployment.
 cron
  cron:disable             Disable all Magento cron processes and kills currently running
  cron:enable              Enable Magento cron processes
  cron:kill                Kill all Magento cron processes
  cron:unlock              Unlock cron jobs that stuck in "running" state.
 dev
  dev:git:update-composer  Updates composer for deployment from git.
 env
  env:config:show          Display encoded cloud configuration environment variables
 module
  module:refresh           Refresh config to enable newly added modules
 wizard
  wizard:ideal-state       Verifies ideal state of configuration
  wizard:master-slave      Verifies master-slave configuration
  wizard:scd-on-build      Verifies SCD on build configuration
  wizard:scd-on-demand     Verifies SCD on demand configuration
  wizard:scd-on-deploy     Verifies SCD on deploy configuration

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 Commerce Cloud. You can also run Magento Cloud Docker as a stand-alone package. See Docker development.

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/magento-cloud-patches also delivers custom patches that you add to your Magento Commerce Cloud project. See Apply patches.