diff --git a/config/deploy.rb b/config/deploy.rb index 45d1e63..d0246b4 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -3,105 +3,137 @@ set :application, 'centaure2_app' - - require "rvm/capistrano" - - set :rvm_ruby_string, 'ruby-2.1.2' - set :rvm_type, :user - - set :user, 'web' + set :user, 'web' + set :scm_user, "git" + set :scm_host, "gitlab.bally.me" - set :deploy_to, "/home/#{user}/#{application}/" - set :deploy_via, :remote_cache + set :rvm_ruby_string, 'ruby-2.1.2' + set :rvm_autolibs_flag, "read-only" - set :normalize_asset_timestamps, false - - - set :rails_env, "production" + set :bundle_cmd, "/home/#{user}/.rvm/gems/#{rvm_ruby_string}@global/bin/bundle" + set :bundle_dir, "/home/#{user}/.rvm/gems/#{rvm_ruby_string}" + set :use_sudo, false - role :app, domain - role :web, domain - role :db, domain, :primary => true - - set :scm, :git - set :repository, "git@gitlab.bally.me:root/#{application}.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" + set :deploy_to, "/home/#{user}/#{application}/" + set :deploy_via, :remote_cache - - -# after "deploy", "deploy:restart" - 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" - + set :normalize_asset_timestamps, false - 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 + set :rails_env, "production" - task :cleanup, :roles => :web do - run "cd #{current_path} && RAILS_ENV=production bundle exec rake assets:clean" - end - end + role :app, domain + role :web, domain + role :db, domain, :primary => true - + set :scm, :git + + set :repository, "#{scm_user}@#{scm_host}:root/#{application}.git" + + set :branch, "master" + + default_run_options[:pty] = true + + + require "rvm/capistrano" + require 'bundler/capistrano' - 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}/public/system" - run "ln -s #{deploy_to}shared/storage/system #{release_path}/public/system" - end + load 'deploy/assets' - 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 :migrate do - run "cd #{deploy_to}current && rake db:migrate RAILS_ENV=#{rails_env}" + namespace :deploy do + + # namespace :assets do + # task :precompile, :roles => :web, :except => { :no_release => true } do + # from = source.next_revision(current_revision) + # if releases.length <= 1 || capture("cd #{latest_release} && #{source.local.log(from)} vendor/assets/ app/assets/ | wc -l").to_i > 0 + # run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile} + # else + # logger.info "Skipping asset pre-compilation because there were no asset changes" + # end + # end + # end + + + + desc "Symlink shared config files" + task :symlink_config_files do + + + run "ln -s #{deploy_to}shared/storage/private #{current_path}/private_medias" - end - - task :seeds do - run "cd #{deploy_to}current && rake db:seeds RAILS_ENV=#{rails_env}" + run "ln -s #{deploy_to}shared/storage/public #{current_path}/public/public_medias" - end - end + run "ln -s #{deploy_to}shared/production.sqlite3 #{current_path}/db/production.sqlite3" + + sudo "cp #{current_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 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 :seeds do + run "cd #{deploy_to}current && rake db:seed RAILS_ENV=#{rails_env}" + + end + + + task :create_files_folders do + + run "mkdir #{deploy_to}shared/storage" + run "mkdir #{deploy_to}shared/storage/private" + run "mkdir #{deploy_to}shared/storage/public" + end + + + + end + + + #before 'deploy:setup', 'rvm:install_rvm' # install RVM + #before 'deploy:setup', 'rvm:install_ruby' # install Ruby and create gemset, OR: + #before 'deploy:setup', 'rvm:create_gemset' # only create gemset + + + + after "deploy:setup", "deploy:create_files_folders" + + #after "deploy:restart", "deploy:cleanup" + + + before "deploy:restart", "deploy:symlink_config_files" + + after "deploy", "deploy:cleanup" + + + \ No newline at end of file diff --git a/config/unicorn.rb b/config/unicorn.rb index 9a18d94..92ef6e9 100644 --- a/config/unicorn.rb +++ b/config/unicorn.rb @@ -2,9 +2,9 @@ working_directory "/home/web/#{@rails_app}/current" pid "/home/web/#{@rails_app}/shared/unicorn.pid" -stderr_path "/home/web/#{@rails_app}/shared/log/unicorn.log" -stdout_path "/home/web/#{@rails_app}/shared/log/unicorn.log" +stderr_path "/home/web/#{@rails_app}/shared/unicorn.log" +stdout_path "/home/web/#{@rails_app}/shared/unicorn.log" -listen "/home/web/#{@rails_app}/shared/tmp/unicorn.sock" +listen "/home/web/#{@rails_app}/shared/unicorn.sock" worker_processes 2 -timeout 30 \ No newline at end of file +timeout 600 \ No newline at end of file