capistrano

This commit is contained in:
Nicolas Bally 2015-05-18 01:49:58 +02:00
parent a9cb75c2c2
commit b376c39478
2 changed files with 99 additions and 56 deletions

View File

@ -22,7 +22,7 @@ gem 'jquery-rails'
# Deploy with Capistrano # Deploy with Capistrano
gem 'capistrano' gem 'capistrano'
gem "rvm-capistrano" gem "rvm-capistrano", require: false
# To use debugger # To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug' # gem 'ruby-debug19', :require => 'ruby-debug'

View File

@ -1,5 +1,7 @@
set :application, 'boissier_app' set :application, 'boissier_app'
set :domain, 'www.pharmacieboissier.com' set :domain, 'auclair-laverie.com'
@ -34,30 +36,55 @@ set :application, 'boissier_app'
default_run_options[:pty] = true default_run_options[:pty] = true
after "deploy", "deploy:bundle_gems"
before "deploy:symlink", "deploy:bundle_gems"
after "deploy:bundle_gems", "deploy:make_simlinks" after "deploy:bundle_gems", "deploy:make_simlinks"
after "deploy:make_simlinks", "deploy:restart" after "deploy:make_simlinks", "assets:precompile"
# after "deploy", "deploy:restart"
after "deploy:restart", "deploy:cleanup" after "deploy:restart", "deploy:cleanup"
#after "deploy", "deploy:bundle_gems"
#after "deploy:bundle_gems", "deploy:make_simlinks"
#after "deploy:make_simlinks", "assets:precompile"
#after "assets:precompile", "deploy:restart"
#after "deploy:restart", "deploy:cleanup"
namespace :assets do
task :precompile, :roles => :web do
run "rm -rf #{release_path}/public/assets"
run "ln -s #{deploy_to}shared/assets #{release_path}/public/assets"
run "cd #{release_path} && bundle exec rake assets:precompile --trace"
end
task :cleanup, :roles => :web do
run "cd #{current_path} && RAILS_ENV=production bundle exec rake assets:clean"
end
end
namespace :deploy do namespace :deploy do
task :bundle_gems do task :bundle_gems do
run "cd #{deploy_to}current && bundle install" run "cd #{release_path} && bundle install"
end
task :reload_nginx do
sudo "rm -rf /etc/nginx/sites-enabled/#{application}"
sudo "ln -s #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application} "
sudo "service nginx reload"
end end
task :make_simlinks do task :make_simlinks do
run "rm -rf #{deploy_to}current/private_medias" run "rm -rf #{release_path}/private_medias"
run "ln -s #{deploy_to}shared/storage/private #{deploy_to}current/private_medias" run "ln -s #{deploy_to}shared/storage/private #{release_path}/private_medias"
run "rm -rf #{deploy_to}current/public/public_medias" run "rm -rf #{release_path}/public/public_medias"
run "ln -s #{deploy_to}shared/storage/public #{deploy_to}current/public/public_medias" run "ln -s #{deploy_to}shared/storage/public #{release_path}/public/public_medias"
run "rm -rf #{release_path}/db/production.sqlite3"
run "ln -s #{deploy_to}shared/production.sqlite3 #{release_path}/db/production.sqlite3"
sudo "cp #{current_path}/config/unicorn_init_d /etc/init.d/#{application}" sudo "cp #{current_path}/config/unicorn_init_d /etc/init.d/#{application}"
@ -76,8 +103,24 @@ set :application, 'boissier_app'
task :restart, :roles => :app, :except => { :no_release => true } do task :restart, :roles => :app, :except => { :no_release => true } do
sudo "service #{application} restart" sudo "service #{application} restart"
end end
task :reload_nginx do
sudo "rm -rf /etc/nginx/sites-enabled/#{application}"
sudo "ln -s #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application} "
sudo "service nginx reload"
end
task :migrate do task :migrate do
run "cd #{deploy_to}current && bundle exec rake db:migrate RAILS_ENV=#{rails_env}" run "cd #{deploy_to}current && rake db:migrate RAILS_ENV=#{rails_env}"
end
task :seeds do
run "cd #{deploy_to}current && rake db:seeds RAILS_ENV=#{rails_env}"
end end
end end