- Reliable fully-automated deployments tool for Magento 2.
- Zero downtime deployments on Magento versions >= 2.2
- Automating your deployments is as easy as defining the servers where you want to deploy to.
This project aims to offer a common solution for fully-automated deployments on all versions of Magento 2. This tool uses the well known Deployer and adds specific recipes for each Magento 2 version.
- Deployer code syntax
- Super easy setup
- Deploy to multiple servers
- Zero Downtime (only Magento >= 2.2)
- Build and Deploy artifacts (only Magento >= 2.2)
- Secure rollbacks (only Magento >= 2.2)
composer require "jalogut/magento2-deployer-plus"
cp <vendor_dir>/jalogut/magento2-deployer-plus/deploy.php.sample_2_1 deploy.php
cp <vendor_dir>/jalogut/magento2-deployer-plus/deploy.php.sample_2_2 deploy.php
cp <vendor_dir>/jalogut/magento2-deployer-plus/deploy.php.sample_2_2_5 deploy.php
<bin_dir>/dep deploy [<stage>]
<bin_dir>/dep build
<bin_dir>/dep deploy-artifact [<stage>]
Build command can only be used if config propagation is properly configured. See Magento DevDocs:
Also check app:config:dump issue and workaround here:
- 
Problem: Known Magento issue when executing setup:static-content:deployfor several languages.
- 
Github Issues: 
- 
Solution: Until that gets fixed in 2.2.1, the only workaround is to executesetup:static-content:deployindividually for each language:// deploy.php task('files:static_assets', ' {{bin/php}} {{magento_bin}} setup:static-content:deploy en_US {{static_deploy_options}} {{bin/php}} {{magento_bin}} setup:static-content:deploy de_CH {{static_deploy_options}} {{bin/php}} {{magento_bin}} setup:static-content:deploy fr_FR {{static_deploy_options}} '); 
- Solution: Increase php memory_limitconfiguration to 728M o 1024M
- 
Problems: - [LogicException] Unable to load theme by specified key: 'Template'
- @variableis undefined in file
 
- 
Reason: If a new template is set, running setup:upgradeis required before executingsetup:static-content:deploy
- 
Solution: Skip setup:static-content:deployfirst time you deploy the new template:- 
Temporary disable task files:static_assets// deploy.php task('files:static_assets')->onRoles('Skip');
- 
Perform a new release 
- 
Enable back files:static_assetson yourdeploy.phpfile- Remove task('files:static_assets')->onRoles('Skip');
 
- Remove 
- 
Manually execute files:static_assets<bin_dir>/dep files:static_assets [<stage>]
 After that, future deployments will work without issues 
- 
- PHP >= 7.0.8
- MAGENTO >= 2.1
GNU General Public License, version 3 (GPLv3)
(c) Juan Alonso [email protected]