Skip to content

rafaelstz/deployer-magento2

Repository files navigation

Deployer Magento 2 recipe

Build Status Tags Total Downloads

Easy tool to deploy and run automated commands in your Magento 2 servers.

How to install

How to install Deployer:

curl -LO https://deployer.org/deployer.phar && sudo mv deployer.phar /usr/local/bin/dep && sudo chmod +x /usr/local/bin/dep

How to install this Magento 2 recipe:

composer require rafaelstz/deployer-magento2 --dev

How to use

First of all, go to your project folder, then create a file called deploy.php. Inside of this file you can use this example below, modifying the values according with your project and server configurations.

<?php

namespace Deployer;
require_once __DIR__ . '/vendor/rafaelstz/deployer-magento2/deploy.php';

// Project
set('application', 'My Project Name');
set('repository', '[email protected]:lesite/my-project.git');
set('default_stage', 'staging');
//set('languages', 'en_US pt_BR');
//set('verbose', '-v');

// Env Configurations
set('php', '/usr/bin/php70');
set('magerun', '/usr/bin/n98-magerun2');
set('composer', '/usr/bin/composer');

// Project Configurations
host('my-store.com')
    ->hostname('iuse.magemojo.com')
    ->user('my-user')
    ->port(22)
    ->set('deploy_path', '/home/my-project-folder')
    ->set('branch', 'master')
    ->set('is_production', 1)
    ->stage('staging')
    ->roles('master')
    // ->configFile('~/.ssh/config')
    ->identityFile('~/.ssh/id_rsa')
    ->addSshOption('UserKnownHostsFile', '/dev/null')
    ->addSshOption('StrictHostKeyChecking', 'no');

Just add this code below too if you don't want to use releases and symlinks

set('release_path', "{{deploy_path}}");
desc('Deploying...');
task('deploy', [
    'deploy:info',
    'deploy:lock',
    'magento:maintenance:enable',
    'git:update_code',
    'composer:install',
    'deploy:magento',
    'magento:maintenance:disable',
    'deploy:unlock',
    'success'
]);