Skip to content

Instantly share code, notes, and snippets.

@rubyrider
Created May 31, 2013 13:27
Show Gist options
  • Save rubyrider/5684961 to your computer and use it in GitHub Desktop.
Save rubyrider/5684961 to your computer and use it in GitHub Desktop.
A very sample pattern of deployment file for capistrano
#For executing corn Jobs in server.
#set :whenever_command, "bundle exec whenever"
#require "whenever/capistrano"
require "delayed/recipes"
default_run_options[:pty] = true
set :ssh_options, {:forward_agent => true}
set :rails_env, "production"
set :main_server, 'e-solutionpark.com'
role :web, main_server
role :app, main_server
role :db, main_server, :primary => true
role :db, main_server
set :password, 'yourpassword'
set :repository, "[email protected]:irfan/allapinews.git"
set :branch, 'master'
set :user_sudo, false
set :user, "root"
set :application_name, 'app.all_api_news.com'
set :application, 'app.all_api_news.com'
set :application_directory, "/root/public_html/#{application_name}"
set :deploy_to, "#{application_directory}"
set :base_dir, "/root"
namespace :config do
desc "copy database.yml file to latest release"
task :db, :roles => [:app] do
run "#{try_sudo} ln -s #{shared_path}/config/database.yml #{latest_release}/config/database.yml"
run "#{try_sudo} ln -s #{shared_path}/config/mongoid.yml #{latest_release}/config/mongoid.yml"
end
end
namespace :deploy do
task :restart, :roles => :app, :except => {:no_release => true} do
run " touch #{File.join(current_path, 'tmp', 'restart.txt')}"
end
end
configs and folders on each release."
task :symlink_shared do
#run "ln -nfs #{shared_path}/log/production.log #{current_path}/log/production.log"
end
end
namespace :assets do
task :precompile, :roles => :app, :except => {:no_release => true} do
run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} assets:clean}
run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} assets:precompile}
end
end
namespace :bundler do
desc "Install bundles into application"
task :install, :roles => [:app] do
run "cd #{current_path} && bundle install --deployment --path #{shared_path}/vendor/bundler"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment