Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 3 additions & 17 deletions src/DeployRunner.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
use Hypernode\Deploy\Exception\InvalidConfigurationException;
use Hypernode\Deploy\Exception\TimeoutException;
use Hypernode\Deploy\Exception\ValidationException;
use Hypernode\DeployConfiguration\Configurable\ServerRoleConfigurableInterface;
use Hypernode\DeployConfiguration\Configurable\StageConfigurableInterface;
use Hypernode\DeployConfiguration\Configuration;
use Hypernode\DeployConfiguration\Server;
use Hypernode\DeployConfiguration\Stage;
Expand Down Expand Up @@ -135,7 +133,7 @@ private function prepare(bool $configureBuildStage, bool $configureServers, stri
}

/**
* Configure deploy tasks based on specific configuration in Hipex deploy configuration
* Configure deploy tasks based on specific configuration in Hypernode Deploy configuration
* @throws InvalidConfigurationException
*/
private function initializeConfigurableTask(ConfigurableTaskInterface $task, Configuration $mainConfig): void
Expand All @@ -146,20 +144,8 @@ private function initializeConfigurableTask(ConfigurableTaskInterface $task, Con
);

foreach ($configurations as $taskConfig) {
if (!$task->supports($taskConfig)) {
continue;
}

$deployerTask = $task->configureWithTaskConfig($taskConfig);
if ($deployerTask) {
if ($taskConfig instanceof StageConfigurableInterface && $taskConfig->getStage()) {
$deployerTask->select("stage={$taskConfig->getStage()->getName()}");
}

if ($taskConfig instanceof ServerRoleConfigurableInterface && $taskConfig->getServerRoles()) {
$roles = implode("&", $taskConfig->getServerRoles());
$deployerTask->select("roles={$roles}");
}
if ($task->supports($taskConfig)) {
$task->configureWithTaskConfig($taskConfig);
}
}
}
Expand Down
8 changes: 2 additions & 6 deletions src/Deployer/Task/After/AfterTaskGlobal.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@

namespace Hypernode\Deploy\Deployer\Task\After;

use Hypernode\Deploy\Deployer\TaskBuilder;
use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\Deploy\Deployer\TaskBuilder;
use Hypernode\DeployConfiguration\Configuration;
use Hypernode\DeployConfiguration\ServerRole;

use function count;
use function Deployer\task;
Expand All @@ -32,9 +31,6 @@ public function configure(Configuration $config): void
};
}

$role = ServerRole::APPLICATION;
task('deploy:after', $tasks)
->once()
->select("roles=$role");
task('deploy:after', $tasks)->once();
}
}
13 changes: 4 additions & 9 deletions src/Deployer/Task/After/CachetoolTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
namespace Hypernode\Deploy\Deployer\Task\After;

use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\ServerRole;
use Hypernode\Deploy\Deployer\Task\TaskInterface;
use Hypernode\DeployConfiguration\Configuration;

use function Deployer\after;
Expand Down Expand Up @@ -57,7 +55,7 @@ public function configure(Configuration $config): void
run('curl -L -o cachetool.phar ' . $this->getCachetoolUrl());
$cachetoolBinary = '{{release_path}}/cachetool.phar';

writeln(sprintf("Downloaded cachetool %s for PHP %d", $cachetoolBinary, $this->getPhpVersion()));
writeln(sprintf("Downloaded cachetool %s for PHP %f", $cachetoolBinary, $this->getPhpVersion()));
return $cachetoolBinary;
});
return $cachetoolBinary;
Expand Down Expand Up @@ -98,14 +96,11 @@ public function configure(Configuration $config): void
run("cd {{release_path}} && {{bin/php}} {{bin/cachetool}} apcu:cache:clear {{cachetool_options}}");
});


$role = ServerRole::APPLICATION;
task('cachetool:clear:opcache')
->select("roles=$role");
task('cachetool:clear:opcache');

task('cachetool:cleanup', function () {
run('cd {{deploy_path}} && rm -f current/{{bin/cachetool}}');
})->select("roles=$role");
});
}

protected function getPhpVersion(): float
Expand All @@ -121,7 +116,7 @@ public function getCachetoolUrl(): string
}

if ($phpVersion >= 7.3) {
return $this->versionBinaryMapping[6];
return $this->versionBinaryMapping[7];
}

if ($phpVersion >= 7.2) {
Expand Down
6 changes: 2 additions & 4 deletions src/Deployer/Task/Deploy/CopyTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\Configuration;
use Hypernode\DeployConfiguration\ServerRole;

use function Deployer\run;
use function Deployer\task;
Expand All @@ -14,19 +13,18 @@ class CopyTask extends TaskBase
{
public function configure(Configuration $config): void
{
$role = ServerRole::APPLICATION;
task('deploy:copy:code', function () use ($config) {
$packageFilepath = $config->getBuildArchiveFile();
$packageFilename = pathinfo($packageFilepath, PATHINFO_BASENAME);

upload($packageFilepath, '{{release_path}}');
run('cd {{release_path}} && tar -xf ' . $packageFilename);
run('cd {{release_path}} && rm -f ' . $packageFilename);
})->select("roles=$role");
});

task('deploy:copy', [
'deploy:copy:code',
'deploy:shared',
])->select("roles=$role");
]);
}
}
6 changes: 2 additions & 4 deletions src/Deployer/Task/Deploy/DeployTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

namespace Hypernode\Deploy\Deployer\Task\Deploy;

use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\ServerRole;
use Hypernode\Deploy\Deployer\RecipeLoader;
use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\Configuration;

use function Deployer\fail;
Expand All @@ -25,13 +24,12 @@ public function __construct(RecipeLoader $loader)
public function configure(Configuration $config): void
{
$this->loader->load('deploy/info.php');
$role = ServerRole::APPLICATION;

task('deploy', [
'deploy:upload',
'deploy:link',
'deploy:finalize',
])->select("roles=$role");
]);

fail('deploy', 'deploy:failed');
}
Expand Down
4 changes: 1 addition & 3 deletions src/Deployer/Task/Deploy/DeployTaskGlobal.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\Configuration;
use Hypernode\DeployConfiguration\ServerRole;

use function Deployer\task;
use function Hypernode\Deploy\Deployer\noop;
Expand All @@ -14,14 +13,13 @@ class DeployTaskGlobal extends TaskBase
public function configure(Configuration $config): void
{
$tasks = $config->getDeployTasks();
$role = ServerRole::APPLICATION;

if (count($tasks)) {
task('deploy:deploy', $tasks);
} else {
task('deploy:deploy', noop());
}

task('deploy:deploy', $tasks)->select("roles=$role");
task('deploy:deploy', $tasks);
}
}
6 changes: 2 additions & 4 deletions src/Deployer/Task/Deploy/FinalizeTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

namespace Hypernode\Deploy\Deployer\Task\Deploy;

use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\ServerRole;
use Hypernode\Deploy\Deployer\RecipeLoader;
use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\Configuration;

use function Deployer\after;
Expand All @@ -26,14 +25,13 @@ public function __construct(RecipeLoader $loader)
public function configure(Configuration $config): void
{
$this->loader->load('deploy/info.php');
$role = ServerRole::APPLICATION;

task('deploy:finalize', [
'deploy:after',
'deploy:unlock',
'deploy:cleanup',
'deploy:success',
])->select("roles=$role");
]);

fail('deploy', 'deploy:failed');
after('deploy:failed', 'deploy:unlock');
Expand Down
6 changes: 2 additions & 4 deletions src/Deployer/Task/Deploy/LinkTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\Configuration;
use Hypernode\DeployConfiguration\ServerRole;

use function Deployer\run;
use function Deployer\task;
Expand All @@ -14,11 +13,10 @@ class LinkTask extends TaskBase
{
public function configure(Configuration $config): void
{
$role = ServerRole::APPLICATION;
task('deploy:link', [
'deploy:symlink',
'deploy:public_link',
])->select("roles=$role");
]);

// Symlink public_html folder
task('deploy:public_link', function () {
Expand All @@ -33,6 +31,6 @@ public function configure(Configuration $config): void
} else {
run('ln -s {{current_path}}/{{public_folder}} /data/web/public');
}
})->select("roles=$role");
});
}
}
6 changes: 2 additions & 4 deletions src/Deployer/Task/Deploy/UploadTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

namespace Hypernode\Deploy\Deployer\Task\Deploy;

use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\ServerRole;
use Hypernode\Deploy\Deployer\RecipeLoader;
use Hypernode\Deploy\Deployer\Task\TaskBase;
use Hypernode\DeployConfiguration\Configuration;

use function Deployer\fail;
Expand All @@ -25,15 +24,14 @@ public function __construct(RecipeLoader $loader)
public function configure(Configuration $config): void
{
$this->loader->load('deploy/info.php');
$role = ServerRole::APPLICATION;

task('deploy:upload', [
'deploy:info',
'prepare:ssh',
'deploy:prepare',
'deploy:copy',
'deploy:deploy',
])->select("roles=$role");
]);

fail('deploy', 'deploy:failed');
}
Expand Down