gist: 6534 Download_button fork
public
Public Clone URL: git://gist.github.com/6534.git
Text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#
# ==== Merb variables
#
 
set :merb_adapter, "thin"
set :merb_environment, ENV["MERB_ENV"] || "production"
set :merb_port, 5000
set :merb_servers, 1
 
after "deploy:finalize_update", "symlink:database_yml"
 
namespace :deploy do
  desc "Runs migrations using MERB_ENV"
  task :migrate, :roles => :db, :only => { :primary => true } do
    rake = fetch(:rake, "rake")
    merb_env = fetch(:merb_env, "production")
    migrate_env = fetch(:migrate_env, "")
    migrate_target = fetch(:migrate_target, :latest)
 
    directory = case migrate_target.to_sym
      when :current then current_path
      when :latest then current_release
      else raise ArgumentError, "unknown migration target #{migrate_target.inspect}"
      end
 
    run "cd #{directory}; #{rake} MERB_ENV=#{merb_env} #{migrate_env} db:migrate"
  end
  
  desc "stops application server"
  task :stop do
    run "cd #{latest_release}; merb -K all"
  end
  
  desc "starts application server"
  task :start do
    run "cd #{latest_release}; merb -a #{merb_adapter} -p #{merb_port} -c #{merb_servers} -d -e #{merb_environment} -m #{latest_release}"
  end
  
  desc "restarts application server(s)"
  task :restart do
    deploy.stop
    deploy.start
  end
end

Revisions