deployer/recipe/deploy/cleanup.php

30 lines
690 B
PHP
Raw Normal View History

2016-11-19 15:13:32 +07:00
<?php
namespace Deployer;
2021-03-15 22:12:13 +01:00
// Use sudo in deploy:cleanup task for rm command.
set('cleanup_use_sudo', false);
2021-10-11 22:04:08 +02:00
desc('Clean 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');
2021-03-15 22:12:13 +01:00
$sudo = get('cleanup_use_sudo') ? 'sudo' : '';
$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) {
2021-03-15 22:12:13 +01:00
run("$sudo 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
});