mirror of
https://github.com/hauke68/Magallanes.git
synced 2026-08-28 10:08:56 +02:00
New feature: Override Release.
This commit is contained in:
@@ -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');
|
||||
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user