8.3 KiB
How to Deploy a Magento 2 Project
Deployer is a free and open source deployment tool written in PHP. It helps you to deploy your Magento 2 application to a server. It is very easy to use and has a lot of features.
Three main features of Deployer are:
- Provisioning - provision your server for you.
- Zero downtime deployment - deploy your application without a downtime.
- Rollbacks - rollback your application to a previous version, if something goes wrong.
Additionally, Deployer has a lot of other features, like:
- Easy to use - Deployer is very easy to use. It has a simple and intuitive syntax.
- Fast - Deployer is very fast. It uses parallel connections to deploy your application.
- Secure - Deployer uses SSH to connect to your server.
- Supports all major PHP frameworks - Deployer supports all major PHP frameworks.
You can read more about Deployer in Getting Started.
The deploy task of Magento 2 consists of:
- deploy:prepare – Prepares a new release
- deploy:info – Displays info about deployment
- deploy:setup – Prepares host for deploy
- deploy:lock – Locks deploy
- deploy:release – Prepares release
- deploy:update_code – Updates code
- deploy:shared – Creates symlinks for shared files and dirs
- deploy:writable – Makes writable dirs
- deploy:vendors – Installs vendors
- deploy:clear_paths – Cleanup files and/or directories
- deploy:magento – Magento2 deployment operations
- magento:build – Magento2 build operations
- magento:compile – Compiles magento di
- magento:deploy:assets – Deploys assets
- magento:config:import – Config Import
- magento:upgrade:db – Upgrades magento database
- magento:cache:flush – Flushes Magento Cache
- magento:build – Magento2 build operations
- deploy:publish – Publishes the release
- deploy:symlink – Creates symlink to release
- deploy:unlock – Unlocks deploy
- deploy:cleanup – Cleanup old releases
- deploy:success –
The magento2 recipe is based on the common recipe.
Configuration
static_content_locales
By default setup:static-content:deploy uses en_US
.
To change that, simply put set('static_content_locales', 'en_US de_DE');
in you deployer script.
'en_US'
magento_themes
You can also set the themes to run against. By default it'll deploy
all themes - add('magento_themes', ['Magento/luma', 'Magento/backend']);
[
]
static_content_jobs
Also set the number of conccurent jobs to run. The default is 1
Update using: set('static_content_jobs', '1');
'1'
content_version
shared_files
Overrides shared_files from recipe/deploy/shared.php
.
[
'app/etc/env.php',
'var/.maintenance.ip',
]
shared_dirs
Overrides shared_dirs from recipe/deploy/shared.php
.
[
'var/composer_home',
'var/log',
'var/export',
'var/report',
'var/import',
'var/import_history',
'var/session',
'var/importexport',
'var/backups',
'var/tmp',
'pub/sitemap',
'pub/media'
]
writable_dirs
Overrides writable_dirs from recipe/deploy/writable.php
.
[
'var',
'pub/static',
'pub/media',
'generated',
'var/page_cache'
]
clear_paths
Overrides clear_paths from recipe/deploy/clear_paths.php
.
[
'generated/*',
'pub/static/_cache/*',
'var/generation/*',
'var/cache/*',
'var/page_cache/*',
'var/view_preprocessed/*'
]
magento_version
maintenance_mode_status_active
enable_zerodowntime
Deploy without setting maintenance mode if possible
true
Tasks
magento:compile
Compiles magento di.
Tasks
magento:deploy:assets
Deploys assets.
magento:sync:content_version
Syncs content version.
magento:maintenance:enable
Enables maintenance mode.
magento:maintenance:disable
Disables maintenance mode.
magento:config:import
Config Import.
magento:upgrade:db
Upgrades magento database.
magento:cache:flush
Flushes Magento Cache.
deploy:magento
Magento2 deployment operations.
This task is group task which contains next tasks:
magento:build
Magento2 build operations.
This task is group task which contains next tasks:
deploy
Deploys your project.
This task is group task which contains next tasks: