/config/deploy.rb

https://bitbucket.org/mgduk/mgdreader · Ruby · 69 lines · 47 code · 17 blank · 5 comment · 0 complexity · a186e2fda02a5793399f3f06bf1b5077 MD5 · raw file

  1. site_name = "mgdreader"
  2. set :application, "#{site_name}"
  3. set :repository, "git@bitbucket.org:mgduk/mgdreader.git"
  4. set :scm, :git
  5. set :branch, "master"
  6. ssh_options[:forward_agent] = true
  7. set :user, "#{site_name}"
  8. set :deploy_to, "/home/mgdphoto/mgdreader"
  9. set :use_sudo, false
  10. set :deploy_via, :remote_cache
  11. set :copy_exclude, [".git", ".DS_Store", ".gitignore", ".gitmodules", ".sass-cache", "sass"]
  12. server "yew.hullabaloo.co.uk", :app, :web
  13. set :htdocs_dir, "#{File.expand_path('.')}/htdocs"
  14. namespace :mgd do
  15. after "deploy:update_code" do
  16. # compile compass
  17. run_locally "cd #{htdocs_dir}; compass clean"
  18. run_locally "cd #{htdocs_dir}; compass compile --environment production"
  19. # run_locally "cd #{htdocs_dir}; coffee --compile --output htdocs/js htdocs/js"
  20. # ensure skin dir exists
  21. run "mkdir -p #{release_path}/htdocs/skin"
  22. # Upload
  23. Dir.glob("#{htdocs_dir}/skin/*.css").each do|f|
  24. upload f, "#{release_path}/htdocs/skin/#{File.basename(f)}"
  25. end
  26. Dir.glob("#{htdocs_dir}/js/*.js").each do|f|
  27. upload f, "#{release_path}/htdocs/js/#{File.basename(f)}"
  28. end
  29. # symlink to config
  30. run "rm #{release_path}/user-config.json; ln -s #{shared_path}/user-config.json #{release_path}/user-config.json"
  31. end
  32. end
  33. namespace :apache do
  34. [:stop, :start, :restart, :reload].each do |action|
  35. desc "#{action.to_s.capitalize} Apache"
  36. task action, :roles => :web do
  37. invoke_command "sudo /etc/init.d/apache2 #{action.to_s}", :via => run_method
  38. end
  39. end
  40. end
  41. desc "Restart apache"
  42. task :restart, :roles => :app, :except => { :no_release => true } do
  43. deploy.apache.reload
  44. end
  45. desc "Start Apache"
  46. task :start, :roles => :app do
  47. deploy.apache.start
  48. end
  49. desc "Stop Apache"
  50. task :stop, :roles => :app do
  51. deploy.apache.stop
  52. end