Guest User

Untitled

a guest
Jun 2nd, 2018
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. # :%s/%appname%/_appname_/g
  2. # :%s/%appname%/_username_/g
  3. # :%s/%domain%/_domain_/g
  4.  
  5. set :application, "%appname%"
  6. set :repository, "git@github.com:smix/%appname%.git"
  7. set :deploy_to, "/var/rails/%appname%"
  8. set :deploy_via, :remote_cache
  9. set :branch, 'master'
  10. set :scm, :git
  11. set :scm_verbose, true
  12. set :use_sudo, false
  13.  
  14.  
  15.  
  16. default_run_options[:pty] = true
  17. ssh_options[:paranoid] = false
  18. ssh_options[:user] = "%username%"
  19.  
  20. set :domain, "%domain%"
  21. server domain, :app, :web
  22. role :db, domain, :primary => true
  23.  
  24. namespace :deploy do
  25. task :restart, :roles => :app do
  26. run "touch #{current_path}/tmp/restart.txt"
  27. end
  28.  
  29. task :restart_cronjobs do
  30. run <<-CMD
  31. cd #{latest_release};
  32. RAILS_ENV=production script/cron stop;
  33. RAILS_ENV=production script/cron start;
  34. CMD
  35. end
  36.  
  37. namespace :gems do
  38. desc "Install required gems"
  39. task :install do
  40. run <<-CMD
  41. cd #{latest_release};
  42. #{sudo} rake gems:install;
  43. CMD
  44. end
  45. end
  46.  
  47. namespace :daemon do
  48. task :start do
  49. run <<-CMD
  50. cd #{latest_release};
  51. RAILS_ENV=production script/cron start;
  52. CMD
  53. end
  54.  
  55. task :restart do
  56. run <<-CMD
  57. cd #{latest_release};
  58. RAILS_ENV=production script/cron restart;
  59. CMD
  60. end
  61.  
  62. task :stop do
  63. run <<-CMD
  64. cd #{latest_release};
  65. RAILS_ENV=production script/cron stop;
  66. CMD
  67. end
  68. end
  69.  
  70. task :create_shared_dirs do
  71. run <<-CMD
  72. mkdir #{shared_path}/config;
  73. mkdir #{shared_path}/db;
  74. CMD
  75. end
  76.  
  77. task :create_log_files do
  78. run "touch #{shared_path/log/development.log} #{shared_path}/log/production.log #{shared_path}/log/test.log"
  79. end
  80.  
  81. namespace :db do
  82. desc "Create database yaml in shared path"
  83. task :default do
  84. db_config = ERB.new <<-EOF
  85. base: &base
  86. adapter: mysql
  87. socket: /tmp/mysql.sock
  88. username: #{user}
  89. password: #{password}
  90.  
  91. development:
  92. database: #{application}_dev
  93. <<: *base
  94.  
  95. test:
  96. database: #{application}_test
  97. <<: *base
  98.  
  99. production:
  100. database: #{application}_prod
  101. <<: *base
  102. EOF
  103.  
  104. run "mkdir -p #{shared_path}/config"
  105. put db_config.result, "#{shared_path}/config/database.yml"
  106. end
  107.  
  108. desc "Make symlink for database yaml"
  109. task :symlink do
  110. run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
  111. end
  112. end
  113. end
  114.  
  115. #after "deploy:update_code", "deploy:symlink_configs"
  116. after "deploy:setup", "deploy:create_shared_dirs"
  117. after "deploy:setup", "deploy:create_log_files"
  118. #after :deploy, "deploy:restart_cronjobs"
  119. #after :deploy, "deploy:migrate"
Add Comment
Please, Sign In to add comment