Created
July 28, 2010 21:57
-
-
Save onsails/496480 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# :%s/%appname%/_appname_/g | |
# :%s/%appname%/_username_/g | |
# :%s/%domain%/_domain_/g | |
set :application, "%appname%" | |
set :repository, "[email protected]:smix/%appname%.git" | |
set :deploy_to, "/var/rails/%appname%" | |
set :deploy_via, :remote_cache | |
set :branch, 'master' | |
set :scm, :git | |
set :scm_verbose, true | |
set :use_sudo, false | |
default_run_options[:pty] = true | |
ssh_options[:paranoid] = false | |
ssh_options[:user] = "%username%" | |
set :domain, "%domain%" | |
server domain, :app, :web | |
role :db, domain, :primary => true | |
namespace :deploy do | |
task :restart, :roles => :app do | |
run "touch #{current_path}/tmp/restart.txt" | |
end | |
task :restart_cronjobs do | |
run <<-CMD | |
cd #{latest_release}; | |
RAILS_ENV=production script/cron stop; | |
RAILS_ENV=production script/cron start; | |
CMD | |
end | |
namespace :gems do | |
desc "Install required gems" | |
task :install do | |
run <<-CMD | |
cd #{latest_release}; | |
#{sudo} rake gems:install; | |
CMD | |
end | |
end | |
namespace :daemon do | |
task :start do | |
run <<-CMD | |
cd #{latest_release}; | |
RAILS_ENV=production script/cron start; | |
CMD | |
end | |
task :restart do | |
run <<-CMD | |
cd #{latest_release}; | |
RAILS_ENV=production script/cron restart; | |
CMD | |
end | |
task :stop do | |
run <<-CMD | |
cd #{latest_release}; | |
RAILS_ENV=production script/cron stop; | |
CMD | |
end | |
end | |
task :create_shared_dirs do | |
run <<-CMD | |
mkdir #{shared_path}/config; | |
mkdir #{shared_path}/db; | |
CMD | |
end | |
task :create_log_files do | |
run "touch #{shared_path/log/development.log} #{shared_path}/log/production.log #{shared_path}/log/test.log" | |
end | |
namespace :db do | |
desc "Create database yaml in shared path" | |
task :default do | |
db_config = ERB.new <<-EOF | |
base: &base | |
adapter: mysql | |
socket: /tmp/mysql.sock | |
username: #{user} | |
password: #{password} | |
development: | |
database: #{application}_dev | |
<<: *base | |
test: | |
database: #{application}_test | |
<<: *base | |
production: | |
database: #{application}_prod | |
<<: *base | |
EOF | |
run "mkdir -p #{shared_path}/config" | |
put db_config.result, "#{shared_path}/config/database.yml" | |
end | |
desc "Make symlink for database yaml" | |
task :symlink do | |
run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml" | |
end | |
end | |
end | |
#after "deploy:update_code", "deploy:symlink_configs" | |
after "deploy:setup", "deploy:create_shared_dirs" | |
after "deploy:setup", "deploy:create_log_files" | |
#after :deploy, "deploy:restart_cronjobs" | |
#after :deploy, "deploy:migrate" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment