Files
danbooru/lib/capistrano/tasks/app.rake
evazion 39d70ae5cf capistrano: simplify unicorn:terminate task.
Use the builtin task provided by capistrano3-unicorn. Ours failed with
invalid pidfile errors in some cases.
2019-08-15 12:51:51 -05:00

33 lines
625 B
Ruby

namespace :app do
set :rolling_deploy, false
before "deploy:migrate", "app:disable"
after "deploy:published", "app:enable"
task :disable do
if fetch(:rolling_deploy)
# do nothing
else
invoke "web:disable"
invoke "unicorn:stop"
end
end
task :enable do
if fetch(:rolling_deploy)
invoke "unicorn:legacy_restart"
else
invoke "unicorn:start"
invoke "web:enable"
end
end
end
namespace :deploy do
desc "Deploy a rolling update without taking the site down for maintenance"
task :rolling do
set :rolling_deploy, true
invoke "deploy"
end
end