Sha256: cba59525638006c052bebdaa5c5c0dd0b55682e1f12a1b4bc0c60decf7e4af22

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

namespace :upstart do
  desc "Start the application services"
  task :start do
    on fetch(:upstart_servers) do
      execute fetch(:upstart_cmd), 'start', fetch(:upstart_service)
    end
  end

  desc "Stop the application services"
  task :stop do
    on fetch(:upstart_servers) do
      execute fetch(:upstart_cmd), 'stop', fetch(:upstart_service)
    end
  end

  desc "Restart the application services"
  task :restart do
    on fetch(:upstart_servers) do
      unless test(fetch(:upstart_cmd), 'start', fetch(:upstart_service))
        execute fetch(:upstart_cmd), 'restart', fetch(:upstart_service)
      end
    end
  end

  desc "Prefixes the upstart command with sudo when :upstart_sudo => true"
  task :configure_sudo do
    if fetch(:upstart_sudo)
      upstart_cmd = fetch(:upstart_cmd).to_s
      SSHKit.config.command_map.prefix[upstart_cmd].push('sudo')
    end
  end
end

Capistrano::DSL.stages.each do |stage|
  after stage, 'upstart:configure_sudo'
end

namespace :load do
  task :defaults do
    set :upstart_service,  -> { fetch(:application) }
    set :upstart_sudo,     false
    set :upstart_roles,    :app
    set :upstart_servers,  -> { release_roles(fetch(:upstart_roles)) }
    set :upstart_cmd,      'initctl'
  end
end

namespace :deploy do
  after :publishing, 'upstart:restart'
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mascherano-1.2.0 lib/mascherano/tasks/upstart.cap