namespace :foreman do desc 'Export the Procfile to Ubuntu upstart scripts' task :export do on roles(:app) do |host| log_path = shared_path.join('log') within release_path do as :root do execute :bundle, "exec foreman export upstart /etc/init -a #{fetch(:application)} -u #{host.user} -l #{log_path}" end end end end desc 'Start the application services' task :start do on roles(:app) do |host| as :root do execute :start, fetch(:application) end end end desc 'Stop the application services' task :stop do on roles(:app) do |host| as :root do execute :stop, fetch(:application) end end end desc 'Restart the application services' task :restart do on roles(:app) do |host| as :root do execute :service, "#{fetch(:application)} start || service #{fetch(:application)} restart" end end end before 'deploy:publishing', 'foreman:export' end