when releasing or rolling back, don’t chown the »current« symlink before we changed / created it. also don’t screw up the ssh cmdline if no username was given.

This commit is contained in:
Stefan Paletta
2015-03-13 11:51:27 +01:00
parent 0406c7de8a
commit a6bcfdaddd
4 changed files with 17 additions and 15 deletions
+7 -6
View File
@@ -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) {