forked from OpenNeo/impress
fc84266523
It's unused, and I'm just double-checking that it's not somehow causing the issues with the rails dev server not reloading classes. (The `threadsafe!` option would do that, but I don't thiiiink this is the env we're running? But I'm wondering if the loader is getting confused by the prefixiness of the name or something. Unlikely!)
89 lines
3.3 KiB
Ruby
89 lines
3.3 KiB
Ruby
require "bundler/capistrano"
|
|
require "dotenv/deployment/capistrano"
|
|
require "rvm/capistrano"
|
|
require "whenever/capistrano"
|
|
|
|
set :application, "newimpress.openneo.net"
|
|
set :repository, "git://github.com/matchu/openneo-impress-rails.git"
|
|
set :deploy_to, "/home/rails/impress"
|
|
set :user, "rails"
|
|
set :branch, "master"
|
|
default_run_options[:pty] = true
|
|
|
|
set :scm, :git
|
|
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none`
|
|
|
|
role :web, application
|
|
role :app, application, :memcached => true
|
|
role :db, application, :primary => true
|
|
|
|
set :bundle_without, [:development, :test]
|
|
|
|
set :rvm_ruby_string, 'ruby-1.9.3-p484' # Or whatever env you want it to run in.
|
|
set :rvm_type, :system
|
|
set :rvm_install_type, :head
|
|
set :rvm_bin_path, "/usr/local/rvm/bin"
|
|
|
|
set :whenever_command, "bundle exec whenever"
|
|
|
|
namespace :deploy do
|
|
task :start, :roles => :app do
|
|
run "touch #{current_release}/tmp/restart.txt"
|
|
sudo "monit -g impress_workers start"
|
|
end
|
|
|
|
task :stop do
|
|
sudo "monit -g impress_workers stop"
|
|
end
|
|
|
|
task :restart do
|
|
run "touch #{current_release}/tmp/restart.txt"
|
|
sudo "monit -g impress_workers restart"
|
|
end
|
|
|
|
desc "Link shared files"
|
|
task :link do
|
|
links = {
|
|
"#{shared_path}/app/views/static/_announcement.html" => "#{release_path}/app/views/static/_announcement.html",
|
|
#"#{shared_path}/config/aws_s3.yml" => "#{release_path}/config/aws_s3.yml",
|
|
"#{shared_path}/config/database.yml" => "#{release_path}/config/database.yml",
|
|
#"#{shared_path}/config/openneo_auth.yml" => "#{release_path}/config/openneo_auth.yml",
|
|
#"#{shared_path}/config/initializers/secret_token.rb" => "#{release_path}/config/initializers/secret_token.rb",
|
|
#"#{shared_path}/config/initializers/stripe.rb" => "#{release_path}/config/initializers/stripe.rb"
|
|
"#{shared_path}/public/beta.html" => "#{release_path}/public/beta.html",
|
|
"#{shared_path}/public/javascripts/analytics.js" => "#{release_path}/app/assets/javascripts/analytics.js",
|
|
"#{shared_path}/public/swfs/outfit" => "#{release_path}/public/swfs/outfit",
|
|
"#{shared_path}/.rvmrc" => "#{release_path}/.rvmrc"
|
|
}
|
|
links.each do |specific_shared_path, specific_release_path|
|
|
run "rm -rf #{specific_release_path} && ln -nfs #{specific_shared_path} #{specific_release_path}"
|
|
end
|
|
end
|
|
end
|
|
|
|
namespace :memcached do
|
|
desc "Start memcached"
|
|
task :start, :roles => [:app], :only => {:memcached => true} do
|
|
sudo "/etc/init.d/memcached start"
|
|
end
|
|
desc "Stop memcached"
|
|
task :stop, :roles => [:app], :only => {:memcached => true} do
|
|
sudo "/etc/init.d/memcached stop"
|
|
end
|
|
desc "Restart memcached"
|
|
task :restart, :roles => [:app], :only => {:memcached => true} do
|
|
sudo "/etc/init.d/memcached restart"
|
|
end
|
|
desc "Flush memcached - this assumes memcached is on port 11211"
|
|
task :flush, :roles => [:app], :only => {:memcached => true} do
|
|
run "echo 'flush_all' | nc localhost 11211"
|
|
end
|
|
desc "Symlink the memcached.yml file into place if it exists"
|
|
task :symlink_configs, :roles => [:app], :only => {:memcached => true }, :except => { :no_release => true } do
|
|
run "if [ -f #{shared_path}/config/memcached.yml ]; then ln -nfs #{shared_path}/config/memcached.yml #{latest_release}/config/memcached.yml; fi"
|
|
end
|
|
end
|
|
|
|
before "deploy:symlink", "memcached:flush"
|
|
after "deploy:update_code", "deploy:link"
|
|
|