New feature: Override Release.

This commit is contained in:
Andrés Montañez
2012-03-31 00:33:17 -03:00
parent aaa65800d0
commit 0410c0efec
6 changed files with 54 additions and 15 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ class Mage_Task_BuiltIn_Deployment_Releases
public function run()
{
if ($this->_config->release('enabled', false) == true) {
if ($this->_config->release('enabled', false) == true) {
$releasesDirectory = $this->_config->release('directory', 'releases');
$symlink = $this->_config->release('symlink', 'current');
+15 -1
View File
@@ -6,7 +6,11 @@ class Mage_Task_BuiltIn_Deployment_Rsync
public function getName()
{
if ($this->_config->release('enabled', false) == true) {
return 'Rsync (with Releases) [built-in]';
if ($this->getActionOption('overrideRelease', false) == true) {
return 'Rsync (with Releases override) [built-in]';
} else {
return 'Rsync (with Releases) [built-in]';
}
} else {
return 'Rsync [built-in]';
}
@@ -14,6 +18,16 @@ class Mage_Task_BuiltIn_Deployment_Rsync
public function run()
{
$overrideRelease = $this->getActionOption('overrideRelease', false);
if ($overrideRelease == true) {
$releaseToOverride = false;
$resultFetch = $this->_runRemoteCommand('ls -ld current | cut -d\"/\" -f2', $releaseToOverride);
if (is_numeric($releaseToOverride)) {
$this->_config->setReleaseId($releaseToOverride);
}
}
$excludes = array(
'.git',
'.svn',
+7 -9
View File
@@ -99,15 +99,13 @@ class Mage_Task_Deploy
{
$tasksToRun = $config->getTasks($stage);
// Look for Remote Source
if ($this->_config->deployment('from', false) == false) {
if (is_array($this->_config->deployment('source', null))) {
if ($stage == 'pre-deploy') {
array_unshift($tasksToRun, 'scm/clone');
} elseif ($stage == 'post-deploy') {
array_unshift($tasksToRun, 'scm/remove-clone');
}
}
// Look for Remote Source
if (is_array($this->_config->deployment('source', null))) {
if ($stage == 'pre-deploy') {
array_unshift($tasksToRun, 'scm/clone');
} elseif ($stage == 'post-deploy') {
array_unshift($tasksToRun, 'scm/remove-clone');
}
}
if (count($tasksToRun) == 0) {
+5
View File
@@ -31,6 +31,11 @@ abstract class Mage_Task_TaskAbstract
return $this->_config;
}
public function getActionOption($name, $value = false)
{
return Mage_Console::getActionOption($name, $value);
}
public function init()
{
}