diff --git a/src/Console/Commands/Deploy.php b/src/Console/Commands/Deploy.php index 94fa2b5..6e5565f 100644 --- a/src/Console/Commands/Deploy.php +++ b/src/Console/Commands/Deploy.php @@ -57,7 +57,7 @@ public function handle() // Write to config SSH::instance() ->into($this->option('stage')) - ->putString(SSH::home($this->option('stage')) . '/ldh.json', json_encode($this->ldh)); + ->putString(SSH::home($this->option('stage')).'/ldh.json', json_encode($this->ldh)); // Done SSH::performLanding($this->option('stage')); diff --git a/src/Console/Commands/Rollback.php b/src/Console/Commands/Rollback.php index ac3c331..3429687 100644 --- a/src/Console/Commands/Rollback.php +++ b/src/Console/Commands/Rollback.php @@ -62,7 +62,7 @@ public function handle() // Write to config SSH::instance() ->into($this->option('stage')) - ->putString(SSH::home($this->option('stage')) . '/ldh.json', json_encode($this->ldh)); + ->putString(SSH::home($this->option('stage')).'/ldh.json', json_encode($this->ldh)); SSH::performLanding($this->option('stage')); } diff --git a/src/Helpers/Deployer.php b/src/Helpers/Deployer.php index b9e1a47..4ea57f0 100644 --- a/src/Helpers/Deployer.php +++ b/src/Helpers/Deployer.php @@ -14,7 +14,7 @@ public static function freshInit(Connection $connection, $stage) { // Init fresh remote repo $connection->define('init', [ - 'cd ' . config('laravel-deploy-helper.stages.' . $stage . '.remote.root'), + 'cd '.config('laravel-deploy-helper.stages.'.$stage.'.remote.root'), 'mkdir releases', 'mkdir patches', 'mkdir shared', @@ -35,11 +35,11 @@ public static function doDeploy($stage, $branch, $ldh) { // Some stuff that does not change in runtime $releaseName = time(); - $home = config('laravel-deploy-helper.stages.' . $stage . '.remote.root'); - $shared = config('laravel-deploy-helper.stages.' . $stage . '.shared'); - $commands = config('laravel-deploy-helper.stages.' . $stage . '.commands'); - $versions = config('laravel-deploy-helper.stages.' . $stage . '.config.dependencies'); - $keep = config('laravel-deploy-helper.stages.' . $stage . '.config.keep'); + $home = config('laravel-deploy-helper.stages.'.$stage.'.remote.root'); + $shared = config('laravel-deploy-helper.stages.'.$stage.'.shared'); + $commands = config('laravel-deploy-helper.stages.'.$stage.'.commands'); + $versions = config('laravel-deploy-helper.stages.'.$stage.'.config.dependencies'); + $keep = config('laravel-deploy-helper.stages.'.$stage.'.config.keep'); // Check what releases are old and can be removed ksort($ldh); @@ -52,67 +52,67 @@ public static function doDeploy($stage, $branch, $ldh) // Check versions // Operators: http://php.net/manual/en/function.version-compare.php - verbose('[' . $stage . '] Checking dependencies. Migth take a minute.'); + verbose('['.$stage.'] Checking dependencies. Migth take a minute.'); foreach ($versions as $app => $version) { SSH::checkAppVersion($connection, $app, $version); } // Define the deploy - verbose('[' . $stage . '] Creating new release directory and pulling from remote'); + verbose('['.$stage.'] Creating new release directory and pulling from remote'); SSH::execute($stage, [ - 'mkdir ' . $home . '/releases/' . $releaseName, - 'cd ' . $home . '/releases/' . $releaseName, - 'git clone -b ' . $branch . ' ' . config('laravel-deploy-helper.stages.' . $stage . '.git.http') . ' .', + 'mkdir '.$home.'/releases/'.$releaseName, + 'cd '.$home.'/releases/'.$releaseName, + 'git clone -b '.$branch.' '.config('laravel-deploy-helper.stages.'.$stage.'.git.http').' .', ]); // Pre-flight for shared stuff $items['directories'] = []; foreach ($shared['directories'] as $share) { - verbose('[' . $stage . '] About to share direcroty "' . $home . '/current/' . $share . '"'); - $items['directories'][] = '[ -e ' . $home . '/current/' . $share . ' ] && cp -R -p ' . $home . '/current/' - . $share . ' ' . $home . '/shared/' . $share; - $items['directories'][] = '[ -e ' . $home . '/shared/' . $share . ' ] && cp -R -p ' . $home . '/shared/' . - $share . ' ' . $home . '/releases/' . $releaseName; + verbose('['.$stage.'] About to share direcroty "'.$home.'/current/'.$share.'"'); + $items['directories'][] = '[ -e '.$home.'/current/'.$share.' ] && cp -R -p '.$home.'/current/' + .$share.' '.$home.'/shared/'.$share; + $items['directories'][] = '[ -e '.$home.'/shared/'.$share.' ] && cp -R -p '.$home.'/shared/'. + $share.' '.$home.'/releases/'.$releaseName; } // Pre-flight for shared stuff $items['files'] = []; foreach ($shared['files'] as $share) { - verbose('[' . $stage . '] About to share file "' . $home . '/current/' . $share . '"'); - $items['files'][] = '[ -e ' . $home . '/current/' . $share . ' ] && cp -p ' . $home . '/current/' . $share - . ' ' . $home . '/shared/' . $share; - $items['files'][] = '[ -e ' . $home . '/shared/' . $share . ' ] && cp -p ' . $home . '/shared/' . $share . - ' ' . $home . '/releases/' . $releaseName . '/' . $share; + verbose('['.$stage.'] About to share file "'.$home.'/current/'.$share.'"'); + $items['files'][] = '[ -e '.$home.'/current/'.$share.' ] && cp -p '.$home.'/current/'.$share + .' '.$home.'/shared/'.$share; + $items['files'][] = '[ -e '.$home.'/shared/'.$share.' ] && cp -p '.$home.'/shared/'.$share. + ' '.$home.'/releases/'.$releaseName.'/'.$share; } // Define shared files - verbose('[' . $stage . '] Syncing shared files'); + verbose('['.$stage.'] Syncing shared files'); SSH::execute($stage, $items['files']); // Define shared directories - verbose('[' . $stage . '] Syncing shared directories'); + verbose('['.$stage.'] Syncing shared directories'); SSH::execute($stage, $items['directories']); $items = []; foreach ($commands as $command) { - $items[] = 'cd ' . $home . '/releases/' . $releaseName . ' && ' . $command; + $items[] = 'cd '.$home.'/releases/'.$releaseName.' && '.$command; } // Define commands - verbose('[' . $stage . '] Executing custom commands'); + verbose('['.$stage.'] Executing custom commands'); SSH::execute($stage, $items); // Define post deploy actions - verbose('[' . $stage . '] Linking new release to /current directory and removing temp'); + verbose('['.$stage.'] Linking new release to /current directory and removing temp'); SSH::execute($stage, [ - 'ln -sfn ' . $home . '/releases/' . $releaseName . ' ' . $home . '/current', - 'rm -rf ' . $home . '/shared/*', + 'ln -sfn '.$home.'/releases/'.$releaseName.' '.$home.'/current', + 'rm -rf '.$home.'/shared/*', ]); // Remove old deploys $items = []; foreach ($toRemove as $dir => $val) { - $items[] = 'echo "Removing release ' . $dir . '" && rm -rf ' . $home . '/releases/' . $dir; + $items[] = 'echo "Removing release '.$dir.'" && rm -rf '.$home.'/releases/'.$dir; } - verbose('[' . $stage . '] Cleaning up old releases'); + verbose('['.$stage.'] Cleaning up old releases'); SSH::execute($stage, $items); $ldh[$releaseName] = true; @@ -125,15 +125,15 @@ public static function doDeploy($stage, $branch, $ldh) */ public static function doRollback(Connection $connection, $stage, $ldh, $dirs) { - $home = config('laravel-deploy-helper.stages.' . $stage . '.remote.root'); + $home = config('laravel-deploy-helper.stages.'.$stage.'.remote.root'); // Define post deploy actions $connection->define('preformRollback', [ - 'ln -sfn ' . $home . '/releases/' . $dirs[1] . ' ' . $home . '/current', - 'rm -rf ' . $home . '/releases/' . $dirs[0], + 'ln -sfn '.$home.'/releases/'.$dirs[1].' '.$home.'/current', + 'rm -rf '.$home.'/releases/'.$dirs[0], ]); - verbose("\t" . 'Hold my beer, We\'re rolling back'); + verbose("\t".'Hold my beer, We\'re rolling back'); $connection->task('preformRollback'); unset($dirs[0]); @@ -153,13 +153,13 @@ public static function doRollback(Connection $connection, $stage, $ldh, $dirs) */ public static function doPatch($stage, $branch) { - $home = config('laravel-deploy-helper.stages.' . $stage . '.remote.root'); + $home = config('laravel-deploy-helper.stages.'.$stage.'.remote.root'); // setup ssh connection to remote $connection = SSH::instance()->into($stage); $connection->define('preformPatch', [ - Command::builder('cd', [$home . '/current']), + Command::builder('cd', [$home.'/current']), Command::builder('ls', ['-haml']), Command::builder('git', ['config', 'user.email', 'git+LDH@localhost.ext']), @@ -167,12 +167,12 @@ public static function doPatch($stage, $branch) Command::builder('git', ['fetch']), Command::builder('git', - ['format-patch', '-1', 'origin/' . $branch, 'FETCH_HEAD', '-o', $home . '/patches']), - 'git apply --reject --whitespace=fix ' . $home . '/patches/*', - Command::builder('rm', ['-rf', $home . '/patches']) + ['format-patch', '-1', 'origin/'.$branch, 'FETCH_HEAD', '-o', $home.'/patches']), + 'git apply --reject --whitespace=fix '.$home.'/patches/*', + Command::builder('rm', ['-rf', $home.'/patches']), ]); - verbose("\t" . 'Hold on tight, trying to patch!'); + verbose("\t".'Hold on tight, trying to patch!'); $connection->task('preformPatch'); } } diff --git a/src/Helpers/SSH.php b/src/Helpers/SSH.php index d4062db..4262c60 100644 --- a/src/Helpers/SSH.php +++ b/src/Helpers/SSH.php @@ -22,7 +22,7 @@ public static function instance() */ public static function home($stage) { - return config('laravel-deploy-helper.stages.' . $stage . '.remote.root'); + return config('laravel-deploy-helper.stages.'.$stage.'.remote.root'); } public static function checkAppVersion(Connection $connection, $app, $requestedVersion) @@ -68,7 +68,7 @@ public static function checkAppVersion(Connection $connection, $app, $requestedV if ($requestedVersion === true) { $connection->run(Command::builder($app, []), function ($response) use ($app) { if (stripos($response, 'command not found') !== false) { - throw new \Exception('ERROR: ' . $app . ' is not installed on the server.'); + throw new \Exception('ERROR: '.$app.' is not installed on the server.'); } }); verbose("\t => Checking $app is available"); @@ -81,7 +81,7 @@ public static function checkAppVersion(Connection $connection, $app, $requestedV */ $connection->run(Command::builder($app, []), function ($response) use ($app) { if (stripos($response, 'command not found') !== false) { - throw new \Exception('ERROR: ' . $app . ' is not installed on the server.'); + throw new \Exception('ERROR: '.$app.' is not installed on the server.'); } }); @@ -104,14 +104,15 @@ public static function execute($stage, $commands) } /** - * Pre flight checks before the deploy happens + * Pre flight checks before the deploy happens. * * @param $instance * @param $stage * @param $branch * - * @return bool|mixed * @throws \Exception + * + * @return bool|mixed */ public static function preFlight($instance, $stage, $branch = false) { @@ -121,9 +122,9 @@ public static function preFlight($instance, $stage, $branch = false) if ($stage === null) { throw new \Exception('The argument "--stage=" is required!', 128); } else { - if (!is_array(config('laravel-deploy-helper.stages.' . $stage))) { - throw new \Exception('The stage "' . $stage - . '" does not exist!', 128); + if (!is_array(config('laravel-deploy-helper.stages.'.$stage))) { + throw new \Exception('The stage "'.$stage + .'" does not exist!', 128); } } @@ -133,14 +134,14 @@ public static function preFlight($instance, $stage, $branch = false) } if (in_array($branch, Git::getBranches()) == false) { - throw new \Exception('The branch "' . $branch - . '" does not exists locally? Please `git pull`!', 128); + throw new \Exception('The branch "'.$branch + .'" does not exists locally? Please `git pull`!', 128); } } // Connecting to remote server - verbose('[' . $stage . '] Trying to login into remote SSH'); - $ssh = SSH::instance()->into($stage); + verbose('['.$stage.'] Trying to login into remote SSH'); + $ssh = self::instance()->into($stage); // Check for lockfile if (Locker::lock($ssh, $stage) === false) { @@ -149,22 +150,22 @@ public static function preFlight($instance, $stage, $branch = false) } // Trying to read file - verbose('[' . $stage . '] Reading config file from remote server'); - $config = $ssh->exists(SSH::home($stage) . '/ldh.json'); + verbose('['.$stage.'] Reading config file from remote server'); + $config = $ssh->exists(self::home($stage).'/ldh.json'); // Check if config exists if ($config == false) { - error('[' . $stage . '] ldh.json does not exists.'); + error('['.$stage.'] ldh.json does not exists.'); if ($instance->confirm('Do you want to initialize LDH here?')) { Deployer::freshInit($ssh, $stage); } else { return false; } } else { - verbose('[' . $stage . '] Found config. Checking directories.'); - $config = $ssh->getString(SSH::home($stage) . '/ldh.json'); + verbose('['.$stage.'] Found config. Checking directories.'); + $config = $ssh->getString(self::home($stage).'/ldh.json'); if ($config == false) { - error('[' . $stage . '] Config file is empty... Something is wrong.'); + error('['.$stage.'] Config file is empty... Something is wrong.'); return false; } @@ -174,14 +175,14 @@ public static function preFlight($instance, $stage, $branch = false) } /** - * End of command + * End of command. * * @param $stage */ public static function performLanding($stage) { - $ssh = SSH::instance()->into($stage); + $ssh = self::instance()->into($stage); Locker::unlock($ssh, $stage); - verbose('[' . $stage . '] Changes are successfull!'); + verbose('['.$stage.'] Changes are successfull!'); } } diff --git a/src/Helpers/helpers.php b/src/Helpers/helpers.php index 4467ad1..6121726 100644 --- a/src/Helpers/helpers.php +++ b/src/Helpers/helpers.php @@ -15,7 +15,7 @@ function verbose($message) { $console = new ConsoleOutput(); $console->getFormatter()->setStyle('info', new OutputFormatterStyle('blue', null)); - $console->writeln('' . $message . ''); + $console->writeln(''.$message.''); } } @@ -31,7 +31,7 @@ function error($message) { $console = new ConsoleOutput(); $console->getFormatter()->setStyle('error', new OutputFormatterStyle('white', 'red')); - $console->writeln('' . $message . ''); + $console->writeln(''.$message.''); } }