Browse Source

Rollback.

1.0
Andrés Montañez 11 years ago
parent
commit
1e65281ca3
  1. 38
      Mage/Task/BuiltIn/Releases/RollbackTask.php

38
Mage/Task/BuiltIn/Releases/RollbackTask.php

@ -13,7 +13,7 @@ namespace Mage\Task\BuiltIn\Releases;
use Mage\Console; use Mage\Console;
use Mage\Task\Factory; use Mage\Task\Factory;
use Mage\Task\AbstractTask; use Mage\Task\AbstractTask;
use Mage\Task\Releases\BuiltIn as ReleaseTask; use Mage\Task\Releases\IsReleaseAware;
use Mage\Task\Releases\RollbackAware; use Mage\Task\Releases\RollbackAware;
use Exception; use Exception;
@ -23,7 +23,7 @@ use Exception;
* *
* @author Andrés Montañez <andres@andresmontanez.com> * @author Andrés Montañez <andres@andresmontanez.com>
*/ */
class RollbackTask extends AbstractTask implements ReleaseTask class RollbackTask extends AbstractTask implements IsReleaseAware
{ {
/** /**
* The Relase ID to Rollback To * The Relase ID to Rollback To
@ -111,29 +111,23 @@ class RollbackTask extends AbstractTask implements ReleaseTask
$tasksToRun = $this->getConfig()->getTasks(); $tasksToRun = $this->getConfig()->getTasks();
$this->getConfig()->setReleaseId($releaseId); $this->getConfig()->setReleaseId($releaseId);
if (count($tasksToRun) == 0) { foreach ($tasksToRun as $taskData) {
Console::output('<light_purple>Warning!</light_purple> <dark_gray>No </dark_gray><light_cyan>Deployment</light_cyan> <dark_gray>tasks defined.</dark_gray>', 2); $task = Factory::get($taskData, $this->getConfig(), true, 'deploy');
Console::output('Deployment to <dark_gray>' . $this->getConfig()->getHost() . '</dark_gray> skipped!', 1, 3); $task->init();
Console::output('Running <purple>' . $task->getName() . '</purple> ... ', 2, false);
} else { if ($task instanceOf RollbackAware) {
foreach ($tasksToRun as $taskData) { $tasks++;
$task = Factory::get($taskData, $this->getConfig(), true, 'deploy'); $result = $task->run();
$task->init();
Console::output('Running <purple>' . $task->getName() . '</purple> ... ', 2, false); if ($result == true) {
Console::output('<green>OK</green>', 0);
if ($task instanceOf RollbackAware) { $completedTasks++;
$tasks++;
$result = $task->run();
if ($result == true) {
Console::output('<green>OK</green>', 0);
$completedTasks++;
} else {
Console::output('<red>FAIL</red>', 0);
}
} else { } else {
Console::output('<yellow>SKIPPED</yellow>', 0); Console::output('<red>FAIL</red>', 0);
} }
} else {
Console::output('<yellow>SKIPPED</yellow>', 0);
} }
} }

Loading…
Cancel
Save