Build and deploy
The .magento.env.yaml
file uses environment variables to centralize the management of build and deploy actions across all of your environments, including Pro Staging and Production. To configure unique actions in each environment, you must modify this file in each environment.
File structure
The .magento.env.yaml
file includes the following sections:
stage
—Accommodates the following stages of deployment:global
—Controls actions in both the build, deploy, and post-deploy phases. You can override these settings in the build, deploy, and post-deploy sections.build
—Controls actions in the build phase only. If you do not specify settings in this section, the build phase uses settings from the global section.deploy
—Controls actions in the deploy phase only. If you do not specify settings in this section, the deploy phase uses settings from the global section.post-deploy
—Controls actions after deploying your application and after the container begins accepting connections.
log
—Controls notifications, including notification types and level of detail.slack
—Configure a message to send to a Slack bot.email
—Configure an email to send to one or more email recipients.- logging handlers—Configure hardware and software application messages sent to a remote logging server.
The latest sample of the .magento.env.yaml
file contains a detailed definition for all variables described in the following reference topics:
- Application—variables control administrative credentials
- Global—variables control actions in the following stages:
- Build—variables control build actions
- Deploy—variables control deploy actions
- Post-deploy—variables control actions after deploy
PHP constants
Constant parsing does not work when using a symfony/yaml
package version earlier than 3.2.
You can use PHP constants in .magento.env.yaml
file definitions instead of hard-coding values. The following example defines the driver_ options
using a PHP constant:
1
2
3
4
5
6
7
8
9
10
11
stage:
deploy:
DATABASE_CONFIGURATION:
connection:
default:
driver_options:
!php/const:\PDO::MYSQL_ATTR_LOCAL_INFILE : 1
indexer:
driver_options:
!php/const:\PDO::MYSQL_ATTR_LOCAL_INFILE : 1
_merge: true
Error handling
When a failure occurs because of an unexpected value in the .magento.env.yaml
configuration file, you receive an error message. For example, the following error message presents a list of suggested changes to each item with an unexpected value, in some cases providing valid options:
1
2
3
4
5
6
7
8
- Environment configuration is not valid. Please correct .magento.env.yaml file with next suggestions:
Item CRON_CONSUMERS_RUNNER is not supposed to be in stage build. Please move it to one of possible stages: global, deploy
Item SKIP_SCD has unexpected type string. Please use one of next types: boolean
Item VERBOSE_COMMANDS has unexpected type boolean. Please use one of next types: string
Item SKIP_HTML_MINIFICATION has unexpected type string. Please use one of next types: boolean
Item CRON_CONSUMERS_RUNNER has unexpected type boolean. Please use one of next types: array
Item VAR_WARM_UP_PAGES is not allowed in configuration.
Item WARM_UP_PAGES has unexpected type string. Please use one of next types: array
Make any corrections, commit, and push the changes. If you do not receive an error message, then the changes to your configuration file pass the validation.