2016-11-19 15:13:32 +07:00
|
|
|
<?php
|
|
|
|
namespace Deployer;
|
|
|
|
|
2020-04-25 23:00:08 +03:00
|
|
|
use Deployer\Exception\Exception;
|
|
|
|
|
2016-11-19 15:13:32 +07:00
|
|
|
desc('Rollback to previous release');
|
|
|
|
task('rollback', function () {
|
|
|
|
$releases = get('releases_list');
|
|
|
|
|
|
|
|
if (isset($releases[1])) {
|
|
|
|
$releaseDir = "{{deploy_path}}/releases/{$releases[1]}";
|
|
|
|
|
|
|
|
// Symlink to old release.
|
2020-10-09 01:35:42 +02:00
|
|
|
run("cd {{deploy_path}} && {{bin/symlink}} $releaseDir {{current_path}}");
|
2016-11-19 15:13:32 +07:00
|
|
|
|
|
|
|
// Remove release
|
|
|
|
run("rm -rf {{deploy_path}}/releases/{$releases[0]}");
|
|
|
|
|
2020-04-25 23:00:08 +03:00
|
|
|
|
|
|
|
writeln("<info>rollback</info> to {$releases[1]} release was <success>successful</success>");
|
2016-11-19 15:13:32 +07:00
|
|
|
} else {
|
2020-04-25 23:00:08 +03:00
|
|
|
throw new Exception("No more releases you can revert to.");
|
2016-11-19 15:13:32 +07:00
|
|
|
}
|
|
|
|
});
|