2016-11-19 15:13:32 +07:00
|
|
|
<?php
|
|
|
|
namespace Deployer;
|
|
|
|
|
|
|
|
desc('Cleaning up old releases');
|
2020-04-25 23:00:08 +03:00
|
|
|
task('deploy:cleanup', function () {
|
2016-11-19 15:13:32 +07:00
|
|
|
$releases = get('releases_list');
|
|
|
|
$keep = get('keep_releases');
|
2018-05-03 13:31:58 +02:00
|
|
|
$runOpts = [];
|
2016-11-19 15:13:32 +07:00
|
|
|
|
|
|
|
if ($keep === -1) {
|
|
|
|
// Keep unlimited releases.
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2017-05-04 13:00:01 +07:00
|
|
|
while ($keep > 0) {
|
2016-11-19 15:13:32 +07:00
|
|
|
array_shift($releases);
|
|
|
|
--$keep;
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach ($releases as $release) {
|
2020-04-25 23:00:08 +03:00
|
|
|
run("rm -rf {{deploy_path}}/releases/$release", $runOpts);
|
2016-11-19 15:13:32 +07:00
|
|
|
}
|
|
|
|
|
2020-04-25 23:00:08 +03:00
|
|
|
run("cd {{deploy_path}} && if [ -e release ]; then rm release; fi", $runOpts);
|
2016-11-19 15:13:32 +07:00
|
|
|
});
|