biola / turnout

Turnout makes it easy to put Rack apps into maintenance mode

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

capistrano tasks

alec-c4 opened this issue · comments

Could you add please capistrano tasks to enable maintance mode remotely?

We don't use Capistrano at all. So I doubt we'll find the time to add the functionality. But we'd be happy to accept any pull requests.

Example capistrano tasks:

namespace :maintenance do
  desc "Maintenance start"
  task :on, :roles => :web do
    on_rollback { run "rm #{current_path}/tmp/maintenance.yml" }
    page = File.read("config/maintenance.yml")
    put page, "#{current_path}/tmp/maintenance.yml", :mode => 0644
  end

  desc "Maintenance stop"
  task :off, :roles => :web do
    run "rm #{release_path}/tmp/maintenance.yml"
  end
end

huh, it'll great to meet this hack on project wiki :)

my tasks for capistrano3

namespace :maintenance do
  desc "Maintenance start (edit config/maintenance.yml to provide parameters)"
  task :start do
    on roles(:web) do
      upload! "config/maintenance.yml", "#{current_path}/tmp/maintenance.yml"
    end
  end

  desc "Maintenance stop"
  task :stop do
    on roles(:web) do
      execute "rm #{current_path}/tmp/maintenance.yml"
    end
  end
end