diff --git a/Mage/Task/AbstractTask.php b/Mage/Task/AbstractTask.php index 491adfb..5c4e36b 100644 --- a/Mage/Task/AbstractTask.php +++ b/Mage/Task/AbstractTask.php @@ -202,7 +202,8 @@ abstract class AbstractTask $localCommand = 'ssh ' . $this->getConfig()->getHostIdentityFileOption() . $needs_tty . ' -p ' . $this->getConfig()->getHostPort() . ' ' . '-q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ' . $this->getConfig()->getConnectTimeoutOption() - . $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName(); + . ( $this->getConfig()->deployment('user') != '' ? $this->getConfig()->deployment('user') . '@' : '' ) + . $this->getConfig()->getHostName(); $remoteCommand = str_replace('"', '\"', $command); if ($cdToDirectoryFirst) { diff --git a/Mage/Task/BuiltIn/Deployment/ReleaseTask.php b/Mage/Task/BuiltIn/Deployment/ReleaseTask.php index 095116e..ce1d838 100644 --- a/Mage/Task/BuiltIn/Deployment/ReleaseTask.php +++ b/Mage/Task/BuiltIn/Deployment/ReleaseTask.php @@ -78,18 +78,19 @@ class ReleaseTask extends AbstractTask implements IsReleaseAware, SkipOnOverride $command = 'chown -R ' . $userGroup . ' ' . $currentCopy . ' && ' . 'chown ' . $userGroup . ' ' . $releasesDirectory; - if (file_exists($symlink)) { - $command.= ' && ' . 'chown -h ' . $userGroup . ' ' . $symlink; - } $result = $this->runCommandRemote($command); if (!$result) { return $result; } } - // Remove symlink if exists; create new symlink and change owner - $tmplink = $currentCopy . '.tmp'; - $command = "ln -sfn {$currentCopy} {$tmplink} && mv -fT {$tmplink} {$symlink}"; + // Switch symlink and change owner + $tmplink = $symlink . '.tmp'; + $command = "ln -sfn {$currentCopy} {$tmplink}"; + if ($resultFetch && $userGroup != '') { + $command.= " && chown -h {$userGroup} {$tmplink}"; + } + $command.= " && mv -fT {$tmplink} {$symlink}"; $result = $this->runCommandRemote($command); if ($result) { diff --git a/Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php b/Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php index cd8f648..c5a37b9 100644 --- a/Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php +++ b/Mage/Task/BuiltIn/Deployment/Strategy/RsyncTask.php @@ -100,7 +100,9 @@ class RsyncTask extends BaseStrategyTaskAbstract implements IsReleaseAware . $this->excludes($excludes) . ' ' . $this->excludesListFile($excludesListFilePath) . ' ' . $this->getConfig()->deployment('from') . ' ' - . $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName() . ':' . $deployToDirectory; + . ( $this->getConfig()->deployment('user') ? $this->getConfig()->deployment('user') . '@' : '' ) + . $this->getConfig()->getHostName() . ':' . $deployToDirectory; + $result = $this->runCommandLocal($command); return $result; diff --git a/Mage/Task/BuiltIn/Releases/RollbackTask.php b/Mage/Task/BuiltIn/Releases/RollbackTask.php index bac35f6..2a0038f 100644 --- a/Mage/Task/BuiltIn/Releases/RollbackTask.php +++ b/Mage/Task/BuiltIn/Releases/RollbackTask.php @@ -138,14 +138,12 @@ class RollbackTask extends AbstractTask implements IsReleaseAware $userGroup = ''; $resultFetch = $this->runCommandRemote('ls -ld ' . $rollbackTo . ' | awk \'{print \$3":"\$4}\'', $userGroup); - $tmplink = $rollbackTo . '.tmp'; - $command = 'ln -sfn ' . $currentCopy . ' ' . $tmplink - . ' && ' - . 'mv -T ' . $tmplink . ' ' . $symlink; - - if ($resultFetch) { - $command .= ' && chown -h ' . $userGroup . ' ' . $symlink; + $tmplink = $symlink . '.tmp'; + $command = "ln -sfn {$currentCopy} {$tmplink}"; + if ($resultFetch && $userGroup) { + $command .= " && chown -h {$userGroup} ${tmplink}"; } + $command .= " && mv -T {$tmplink} {$symlink}"; $result = $this->runCommandRemote($command);