PageRenderTime 53ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/config/deploy.rb

https://bitbucket.org/instedd/watchfire
Ruby | 44 lines | 36 code | 8 blank | 0 comment | 0 complexity | 83df2fc5e0f8c44cf8e7c2f3eca599eb MD5 | raw file
  1. require 'bundler/capistrano'
  2. require 'rvm/capistrano'
  3. require 'foreman/capistrano'
  4. set :rvm_ruby_string, '1.9.3'
  5. set :rvm_type, :system
  6. set :sudo, 'rvmsudo'
  7. set :application, "watchfire"
  8. set :repository, "https://bitbucket.org/instedd/watchfire"
  9. set :scm, :mercurial
  10. set :deploy_via, :remote_cache
  11. set :user, 'ubuntu'
  12. set :foreman_concurrency, 'scheduler=1'
  13. namespace :deploy do
  14. task :start do ; end
  15. task :stop do ; end
  16. task :restart, :roles => :app, :except => { :no_release => true } do
  17. run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  18. end
  19. task :symlink_configs, :roles => :app do
  20. %W(settings database).each do |file|
  21. run "ln -nfs #{shared_path}/#{file}.yml #{release_path}/config/"
  22. end
  23. end
  24. end
  25. namespace :foreman do
  26. desc 'Prepare foreman env file with current environment variables'
  27. task :set_env, :roles => :app do
  28. run "echo -e \"PATH=$PATH\\nGEM_HOME=$GEM_HOME\\nGEM_PATH=$GEM_PATH\\nRAILS_ENV=production\" > #{current_path}/.env"
  29. end
  30. end
  31. before "deploy:start", "deploy:migrate"
  32. before "deploy:restart", "deploy:migrate"
  33. after "deploy:update_code", "deploy:symlink_configs"
  34. before "foreman:export", "foreman:set_env"
  35. after "deploy:update", "foreman:export" # Export foreman scripts
  36. after "deploy:restart", "foreman:restart" # Restart application scripts