Archive: ComponentOwl Rails app, DB backups, go redirect script
This commit is contained in:
89
config/deploy.rb
Normal file
89
config/deploy.rb
Normal file
@@ -0,0 +1,89 @@
|
||||
set :stages, %w(production)
|
||||
set :default_stage, "production"
|
||||
require 'capistrano/ext/multistage'
|
||||
|
||||
rails_env = fetch(:rails_env, "production")
|
||||
|
||||
after "deploy", "deploy:cleanup"
|
||||
after "deploy:migrations", "deploy:cleanup"
|
||||
after "deploy:migrate", "deploy:restart"
|
||||
after "deploy:update_code", "symlink_files", "symlink_database_yml", "symlink_blog"
|
||||
after "deploy:update_code", "install_gems"
|
||||
after "deploy:update_code", "db:insert_required_data"
|
||||
|
||||
task :symlink_files, :roles => [:app, :db] do
|
||||
run "ln -nfs #{shared_path}/files #{release_path}/public/files"
|
||||
end
|
||||
|
||||
task :symlink_blog, :roles => [:app, :db] do
|
||||
run "ln -nfs #{shared_path}/blog #{release_path}/public/blog"
|
||||
end
|
||||
|
||||
task :install_gems, :roles => [:app, :db] do
|
||||
run "cd #{latest_release}; rake gems:install"
|
||||
end
|
||||
|
||||
task :symlink_database_yml, :roles => [:app, :db] do
|
||||
run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
|
||||
end
|
||||
|
||||
task :symlink_htaccess, :roles => [:app, :db] do
|
||||
run "ln -nfs #{shared_path}/config/.htaccess #{release_path}/public/.htaccess"
|
||||
end
|
||||
|
||||
namespace :deploy do
|
||||
desc "Restart app"
|
||||
task :restart, :roles => :app do
|
||||
run "cd #{current_path} && chmod 755 #{chmod755}"
|
||||
run "kill -s USR2 `cat /tmp/componentowl.com.pid`"
|
||||
end
|
||||
|
||||
desc "Update the crontab file"
|
||||
task :update_crontab, :roles => :cron, :only => { :primary => true } do
|
||||
run "cd #{current_path} && whenever --update-crontab #{application} --set 'environment=production&pwd=#{current_path}'"
|
||||
end
|
||||
|
||||
desc "Recreate symlink"
|
||||
task :resymlink, :roles => :app do
|
||||
run "rm -f #{current_path} && ln -s #{release_path} #{current_path}"
|
||||
end
|
||||
|
||||
desc "Upload assets to CloudFront"
|
||||
task :assets do
|
||||
rails_env = fetch(:rails_env, "production")
|
||||
run "cd #{release_path} && rake RAILS_ENV=#{rails_env} dextronet_core:assets_to_cloudfront"
|
||||
end
|
||||
end
|
||||
|
||||
namespace :db do
|
||||
desc "Dump DB"
|
||||
task :dump, :roles => :db, :only => { :primary => true } do
|
||||
run "cd #{latest_release}; rake iquest:db:dump OUTPUT_DIR=#{shared_path}/db RAILS_ENV=production"
|
||||
end
|
||||
|
||||
desc "Insert required data"
|
||||
task :insert_required_data, :roles => :db, :only => { :primary => true } do
|
||||
rails_env = fetch(:rails_env, "production")
|
||||
run "cd #{latest_release}; rake RAILS_ENV=#{rails_env} dextronet_core:import:all"
|
||||
end
|
||||
end
|
||||
|
||||
namespace :less do
|
||||
desc 'Updates the stylesheets generated by LESS CSS'
|
||||
task :update do
|
||||
run "cd #{release_path} && rake less:update RAILS_ENV=#{rails_env}"
|
||||
end
|
||||
end
|
||||
|
||||
namespace :asset do
|
||||
namespace :packager do
|
||||
desc "Build all assets"
|
||||
task :build_all do
|
||||
run "cd #{release_path} && rake asset:packager:build_all"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
after "deploy:update_code", "asset:packager:build_all"
|
||||
before "asset:packager:build_all", "less:update"
|
||||
#after "asset:packager:build_all", "deploy:assets"
|
||||
Reference in New Issue
Block a user