118 lines
2.9 KiB
Ruby
118 lines
2.9 KiB
Ruby
set :application, 'site_perso_app'
|
|
set :domain, 'nicolasbally.com'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
require "rvm/capistrano"
|
|
|
|
set :rvm_ruby_string, 'ruby-1.9.3-p0'
|
|
set :rvm_type, :user
|
|
|
|
set :user, 'web'
|
|
|
|
|
|
|
|
set :deploy_to, "/home/#{user}/#{application}/"
|
|
set :deploy_via, :remote_cache
|
|
|
|
set :normalize_asset_timestamps, false
|
|
|
|
|
|
set :rails_env, "production"
|
|
|
|
|
|
|
|
role :app, domain
|
|
role :web, domain
|
|
role :db, domain, :primary => true
|
|
|
|
set :scm, :git
|
|
set :repository, "git@git.nicolasbally.com:root/site-perso.git"
|
|
set :branch, "master"
|
|
|
|
default_run_options[:pty] = true
|
|
|
|
|
|
|
|
before "deploy:symlink", "deploy:bundle_gems"
|
|
after "deploy:bundle_gems", "deploy:make_simlinks"
|
|
after "deploy:make_simlinks", "assets:precompile"
|
|
|
|
|
|
|
|
# after "deploy", "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
|
|
task :bundle_gems do
|
|
run "cd #{release_path} && bundle install"
|
|
end
|
|
|
|
task :make_simlinks do
|
|
run "rm -rf #{release_path}/private_medias"
|
|
run "ln -s #{deploy_to}shared/storage/private #{release_path}/private_medias"
|
|
run "rm -rf #{release_path}/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 #{release_path}/config/unicorn_init_d /etc/init.d/#{application}"
|
|
|
|
sudo "chmod +x /etc/init.d/#{application}"
|
|
sudo "update-rc.d #{application} defaults "
|
|
|
|
end
|
|
|
|
task :start do
|
|
sudo "service #{application} start"
|
|
end
|
|
task :stop do
|
|
run "service #{application} stop"
|
|
end
|
|
task :restart, :roles => :app, :except => { :no_release => true } do
|
|
sudo "service #{application} restart"
|
|
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
|
|
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
|
|
|
|
|