Issue #46 - Add post-release tasks on rollback

This commit is contained in:
Andrés Montañez 2014-03-16 18:42:29 -03:00
parent 7c883d2436
commit 5d03d945cb
2 changed files with 27 additions and 4 deletions

View file

@ -108,7 +108,8 @@ class RollbackTask extends AbstractTask implements IsReleaseAware
$completedTasks = 0;
$tasksToRun = $this->getConfig()->getTasks();
$this->getConfig()->setReleaseId($releaseId);
// Run Deploy Tasks
foreach ($tasksToRun as $taskData) {
$task = Factory::get($taskData, $this->getConfig(), true, self::STAGE_DEPLOY);
$task->init();
@ -151,6 +152,28 @@ class RollbackTask extends AbstractTask implements IsReleaseAware
Console::output('<red>FAIL</red>', 0);
}
// Run Post Release Tasks
$tasksToRun = $this->getConfig()->getTasks(AbstractTask::STAGE_POST_DEPLOY);
foreach ($tasksToRun as $taskData) {
$task = Factory::get($taskData, $this->getConfig(), true, self::STAGE_POST_DEPLOY);
$task->init();
Console::output('Running <purple>' . $task->getName() . '</purple> ... ', 2, false);
if ($task instanceOf RollbackAware) {
$tasks++;
$result = $task->run();
if ($result == true) {
Console::output('<green>OK</green>', 0);
$completedTasks++;
} else {
Console::output('<red>FAIL</red>', 0);
}
} else {
Console::output('<yellow>SKIPPED</yellow>', 0);
}
}
if ($completedTasks == $tasks) {
$tasksColor = 'green';
} else {

View file

@ -12,15 +12,15 @@ releases:
directory: releases
hosts:
- localhost
# - dbserver
- 127.0.0.1
tasks:
pre-deploy:
- sampleTask
# - sampleTask
# - failTask
- scm/update
on-deploy:
- privileges
- sampleTask
# - sampleTask
- sampleTaskRollbackAware
- taskWithParameters:
booleanOption: true