mirror of
https://github.com/deployphp/deployer.git
synced 2025-02-22 16:27:39 +01:00
* Refactor deploy:cleanup Command Remove $runOpts since it's not actually used Move release symlink deletion to beginning of method. This will allow the release symlink to be deleted even if deleting the old releases fails. * Refactor deploy:releases_log Fixes issue where multiple failed releases in a row cause old releases to not be cleaned up. Fixes #2759 Co-authored-by: Anton Medvedev <anton@medv.io>
21 lines
546 B
PHP
21 lines
546 B
PHP
<?php
|
|
namespace Deployer;
|
|
|
|
// Use sudo in deploy:cleanup task for rm command.
|
|
set('cleanup_use_sudo', false);
|
|
|
|
desc('Cleanup old releases');
|
|
task('deploy:cleanup', function () {
|
|
$releases = get('releases_list');
|
|
$keep = get('keep_releases');
|
|
$sudo = get('cleanup_use_sudo') ? 'sudo' : '';
|
|
|
|
run("cd {{deploy_path}} && if [ -e release ]; then rm release; fi");
|
|
|
|
if ($keep > 0) {
|
|
foreach (array_slice($releases, $keep) as $release) {
|
|
run("$sudo rm -rf {{deploy_path}}/releases/$release");
|
|
}
|
|
}
|
|
});
|