У меня была похожая проблема. Я хотел сохранить 5 выпусков для обычного развертывания, но в некоторых ситуациях нужно было удалить все предыдущие выпуски.
Я смог сделать это с помощью пользовательского задания. Создайте файл lib/capistrano/tasks/cleanup.rake
и добавьте следующий код.
desc "Remove all but the last release"
task :cleanup_all do
set :keep_releases, 1
invoke "deploy:cleanup"
end
Для запуска используйте bundle exec cap staging cleanup_all
или cap staging cleanup_all