Magento 2 Deployer Plus
jalogut/magento2-deployer-plus
Tool based on deployer.org to perform zero downtime deployments of Magento 2 projects
Build Tests
Code Quality
Tested on Magento 2.4.8-p3
Recent Test History
Each release is tested against the latest Magento version at that time.
+4 older tests
Share This Module's Status
README
Loaded from GitHubMagento 2 Deployer Plus
- 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.
Motivation
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.
Important Features
- 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)
Installation
composer require "jalogut/magento2-deployer-plus"
Setup
Magento >= 2.1
cp <vendor_dir>/jalogut/magento2-deployer-plus/deploy.php.sample_2_1 deploy.php
Magento >= 2.2
cp <vendor_dir>/jalogut/magento2-deployer-plus/deploy.php.sample_2_2 deploy.php
Magento >= 2.2.5
cp <vendor_dir>/jalogut/magento2-deployer-plus/deploy.php.sample_2_2_5 deploy.php
Usage
Git deploys:
<bin_dir>/dep deploy [<stage>]
Build artifact deploys: (only Magento >= 2.2)
<bin_dir>/dep build
<bin_dir>/dep deploy-artifact [<stage>]
Disclaimer
Build command
Build command can only be used if config propagation is properly configured. See Magento DevDocs:
Also check app:config:dump issue and workaround here:
Troubleshooting
Js translations missing (magento versions >=2.1.3 <2.2.1)
-
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 ask('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}} );
Compilation error
-
Solution: Increase php
memory_limitconfiguration to 728M o 1024M
Static deploy error when setting a new template (if config propagation is not used)
-
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
-
Prerequisites
- PHP >= 7.0.8
- MAGENTO >= 2.1
ChangeLog
Developers
Licence
GNU General Public License, version 3 (GPLv3)
Copyright
(c) Juan Alonso juan.jalogut@gmail.com
This content is fetched directly from the module's GitHub repository. We are not the authors of this content and take no responsibility for its accuracy, completeness, or any consequences arising from its use.