Skip to content
This repository has been archived by the owner on Dec 28, 2021. It is now read-only.

Commit

Permalink
Merge pull request #3 from DALTCORE/analysis-qxW953
Browse files Browse the repository at this point in the history
Apply fixes from StyleCI
  • Loading branch information
RamonSmit authored Jun 30, 2017
2 parents b310eca + e1d0335 commit 9b406c6
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 65 deletions.
2 changes: 1 addition & 1 deletion src/Console/Commands/Deploy.php
Original file line number Diff line number Diff line change
Expand Up @@ -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'));
Expand Down
2 changes: 1 addition & 1 deletion src/Console/Commands/Rollback.php
Original file line number Diff line number Diff line change
Expand Up @@ -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'));
}
Expand Down
80 changes: 40 additions & 40 deletions src/Helpers/Deployer.php
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -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);
Expand All @@ -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;
Expand All @@ -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]);
Expand All @@ -153,26 +153,26 @@ 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', '[email protected]']),
Command::builder('git', ['config', 'user.name', 'LDH']),

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');
}
}
43 changes: 22 additions & 21 deletions src/Helpers/SSH.php
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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");
Expand All @@ -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.');
}
});

Expand All @@ -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)
{
Expand All @@ -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);
}
}

Expand All @@ -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) {
Expand All @@ -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;
}
Expand All @@ -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!');
}
}
4 changes: 2 additions & 2 deletions src/Helpers/helpers.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ function verbose($message)
{
$console = new ConsoleOutput();
$console->getFormatter()->setStyle('info', new OutputFormatterStyle('blue', null));
$console->writeln('<info>' . $message . '</info>');
$console->writeln('<info>'.$message.'</info>');
}
}

Expand All @@ -31,7 +31,7 @@ function error($message)
{
$console = new ConsoleOutput();
$console->getFormatter()->setStyle('error', new OutputFormatterStyle('white', 'red'));
$console->writeln('<error>' . $message . '</error>');
$console->writeln('<error>'.$message.'</error>');
}
}

Expand Down

0 comments on commit 9b406c6

Please sign in to comment.