【发布时间】:2016-11-03 21:24:28
【问题描述】:
我正在使用 Capistrano 3。如何在 deploy:failed 上删除失败的版本而不编写自己的任务?关键是失败的版本保留在版本目录中,并且我可以通过键入 cap deploy:rollback
意外地回滚到损坏的版本
升级版:
目前我正在使用此任务,但仍在寻找更好的解决方案。
namespace :deploy do
desc 'Delete failed release'
task :rm_failed do
on roles(:all) do
execute(:rm, "-rf #{release_path}")
end
end
end
after 'deploy:failed', 'deploy:rm_failed'
【问题讨论】:
-
小心这个解决方案。如果 deploy:cleanup 失败,这个任务将被调用并且你的版本将被删除...在它被 deploy:symlink:release 发布到生产环境之后!
标签: capistrano