Skip to content

Deployer based deployment for Magento2 with media and database synchronisation.

License

Notifications You must be signed in to change notification settings

sourcebroker/deployer-extended-magento2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

deployer-extended-magento2

This package provides deploy task for deploying Magento2 with deployer (deployer.org) and additionally a tasks to synchronize database and media files.

This package depends on following packages:

  1. 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.

  2. If you are using deployer as composer package then just put following line in your deploy.php:

    new \SourceBroker\DeployerExtendedMagento2\Loader();
    
  3. 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();
    
  4. Remove task "deploy" from your deploy.php. Otherwise you will overwrite deploy task defined in deployer/deploy/task/deploy.php

  5. 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.

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'.

About

Deployer based deployment for Magento2 with media and database synchronisation.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages