ensl.org/config/deploy.rb

61 lines
1.6 KiB
Ruby
Raw Normal View History

lock '3.1.0'
set :application, 'ensl'
set :deploy_user, 'deploy'
set :pty, true
set :scm, :git
set :repo_url, 'git@github.com:ENSL/ensl.org.git'
set :keep_releases, 10
set :rbenv_type, :user
set :rbenv_ruby, '2.1.1'
set :rbenv_sudo, "sudo /home/#{fetch(:deploy_user)}/.rbenv/bin/rbenv sudo"
set :linked_files, %w{.env}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle
public/system public/local public/uploads}
set :normalize_asset_timestamps, %{public/images public/javascripts public/stylesheets}
namespace :deploy do
desc 'Restart application'
task :restart do
invoke 'foreman:export'
invoke 'foreman:restart'
end
after :publishing, :restart
end
namespace :foreman do
desc "Export the Procfile to Ubuntu's upstart scripts"
task :export do
on roles(:app) do |host|
within release_path do
execute "#{fetch(:rbenv_sudo)} bundle exec foreman export upstart /etc/init -a #{fetch(:application)} -u #{fetch(:deploy_user)} -l #{fetch(:deploy_to)}/shared/log"
end
end
end
desc "Start the application services"
task :start do
on roles(:app) do |host|
execute "sudo service #{fetch(:application)} start"
end
end
desc "Stop the application services"
task :stop do
on roles(:app) do |host|
execute "sudo service #{fetch(:application)} stop"
end
end
desc "Restart the application services"
task :restart do
on roles(:app) do |host|
execute "sudo service #{fetch(:application)} start || #{sudo} service #{fetch(:application)} restart"
end
end
end