mirror of
https://github.com/andres-montanez/Magallanes
synced 2024-05-23 08:02:15 +02:00
Add flag --deleteCurrent to delete current release on rollback. Issue #93
This commit is contained in:
parent
2e0c5130dd
commit
5fb711593a
|
@ -60,6 +60,7 @@ class RollbackTask extends AbstractTask implements IsReleaseAware
|
|||
|
||||
} else {
|
||||
rsort($releases);
|
||||
$deleteCurrent = $this->getConfig()->getParameter('deleteCurrent', false);
|
||||
|
||||
$releaseIsAvailable = false;
|
||||
if ($this->getReleaseId() == '') {
|
||||
|
@ -86,6 +87,13 @@ class RollbackTask extends AbstractTask implements IsReleaseAware
|
|||
Console::output('Rollback release on <dark_gray>' . $this->getConfig()->getHost() . '</dark_gray>');
|
||||
$rollbackTo = $releasesDirectory . '/' . $releaseId;
|
||||
|
||||
// Get Current Release
|
||||
if ($deleteCurrent) {
|
||||
$result = $this->runCommandRemote('ls -l ' . $symlink, $output) && $result;
|
||||
$currentRelease = explode('/', $output);
|
||||
$currentRelease = trim(array_pop($currentRelease));
|
||||
}
|
||||
|
||||
// Tasks
|
||||
$tasks = 1;
|
||||
$completedTasks = 0;
|
||||
|
@ -120,8 +128,8 @@ class RollbackTask extends AbstractTask implements IsReleaseAware
|
|||
$userGroup = '';
|
||||
$resultFetch = $this->runCommandRemote('ls -ld ' . $rollbackTo . ' | awk \'{print \$3":"\$4}\'', $userGroup);
|
||||
$command = 'rm -f ' . $symlink
|
||||
. ' && '
|
||||
. 'ln -sf ' . $rollbackTo . ' ' . $symlink;
|
||||
. ' && '
|
||||
. 'ln -sf ' . $rollbackTo . ' ' . $symlink;
|
||||
|
||||
if ($resultFetch) {
|
||||
$command .= ' && chown -h ' . $userGroup . ' ' . $symlink;
|
||||
|
@ -132,6 +140,11 @@ class RollbackTask extends AbstractTask implements IsReleaseAware
|
|||
if ($result) {
|
||||
Console::output('<green>OK</green>', 0);
|
||||
$completedTasks++;
|
||||
|
||||
// Delete Old Current Release
|
||||
if ($deleteCurrent && $currentRelease) {
|
||||
$this->runCommandRemote('rm -rf ' . $releasesDirectory . '/' . $currentRelease, $output);
|
||||
}
|
||||
} else {
|
||||
Console::output('<red>FAIL</red>', 0);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue