justbetter / magento2-deployer-plus
Magento 2 deployment tool based on deployer.org
Installs: 4 928
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 56
pkg:composer/justbetter/magento2-deployer-plus
Requires
- deployer/deployer: ^7.0
README
- 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.
Archived
All features this offered are already available in deployer itself at this point see Migrate your deployments to use that instead.
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 justbetter/magento2-deployer-plus
Setup
Magento >= 2.1
cp <vendor_dir>/justbetter/magento2-deployer-plus/deploy.php.sample_2_1 deploy.php
Magento >= 2.2
cp <vendor_dir>/justbetter/magento2-deployer-plus/deploy.php.sample_2_2 deploy.php
Magento >= 2.2.5
cp <vendor_dir>/justbetter/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>]
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 task('files:static_assets', function () { run('{{bin/php}} {{magento_bin}} setup:static-content:deploy en_US {{static_deploy_options}}'); run('{{bin/php}} {{magento_bin}} setup:static-content:deploy de_CH {{static_deploy_options}}'); run('{{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 >= 8.0
- MAGENTO >= 2.1
ChangeLog
Developers
Licence
GNU General Public License, version 3 (GPLv3)
Copyright
(c) JustBetter B.V. hello@justbetter.nl