sourcebroker / deployer-extended-magento2
Deployment for Magento2 with deployer.org.
Installs: 5 110
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- deployer/dist: ~6.8.0
- sourcebroker/deployer-bulk-tasks: ^2.1.0
- sourcebroker/deployer-extended: ^16.0.0
- sourcebroker/deployer-extended-database: ^13.0.0
- sourcebroker/deployer-extended-media: ^8.0.0
- sourcebroker/deployer-loader: ^2.0.0
README
What does it do?
This package provides deploy task for deploying Magento2 with deployer (deployer.org) and additionally a tasks to synchronize database and media files.
Dependencies
This package depends on following packages:
- sourcebroker/deployer-extended Package which provides some deployer tasks that can be used for any framework or CMS.
- sourcebroker/deployer-extended-database Package which provides some php framework independent deployer tasks to synchronize database.
- sourcebroker/deployer-extended-media Package which provides some php framework independent deployer tasks to synchronize media.
Installation
Install package with composer:
composer require sourcebroker/deployer-extended-magento2
Note! This command will install also deployer/dist package which will create ./vendor/bin/dep binary. You should use this binary to run deploy. Its advisable that you put alias dep="php ./vendor/bin/dep" in your ~/.profile to be able to run deployer with regular "dep" command.
If you are using deployer as composer package then just put following line in your deploy.php:
new \SourceBroker\DeployerExtendedMagento2\Loader();
If you are using deployer as phar then put following lines in your deploy.php:
require_once(__DIR__ . '/vendor/sourcebroker/deployer-loader/autoload.php'); new \SourceBroker\DeployerExtendedMagento2\Loader();
Remove task "deploy" from your deploy.php. Otherwise you will overwrite deploy task defined in deployer/deploy/task/deploy.php
Example deploy.php file for phar based deployer:
<?php namespace Deployer; require_once(__DIR__ . '/vendor/sourcebroker/deployer-loader/autoload.php'); new \SourceBroker\DeployerExtendedMagento2\Loader(); set('repository', 'git@my-git:my-project.git'); host('live') ->hostname('111.111.111.111') ->user('www-data') ->set('public_urls', ['http://www.example.com/']) ->set('deploy_path', '/var/www/example.com.live'); host('beta') ->hostname('111.111.111.111') ->user('www-data') ->set('public_urls', ['http://beta.example.com/']) ->set('deploy_path', '/var/www/example.com.beta'); host('local') ->set('public_urls', ['http://example-com.ddev.site/']) ->set('deploy_path', getcwd());
Mind the declaration of host('local'); Its needed for database tasks to declare domain replacements, and path to store database dumps.
Special tasks for Magento2
magento:deploy:git_checkout
If we install Magento2 with composer then we have some files in pub/ folder like '.htaccess' or 'index.php' which we sometimes want to change. Unfortunately during composer install, which is step after cloning repo, the pub/ files will be overwritten with files from vendor/magento/magento2-base.
This task allows to do checkout for for files/folders defined in param 'git_checkout_items'. So if you have changes in pub/.htaccess it will be reverted. By default the 'git_checkout_items' param has item 'pub/.htaccess'.