Advertisement
Guest User

Untitled

a guest
Oct 11th, 2017
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. # RVM boostrap
  2. $:.unshift(File.expand_path('~/.rvm/lib', ENV['rvm_path']))
  3. require "rvm/capistrano"
  4. set :rvm_ruby_string, '1.9.2@prokliencki'
  5. set :rvm_type, :user
  6.  
  7. # Bundler bootstrap
  8. require 'bundler/capistrano'
  9.  
  10. # Main details
  11. set :application, "prokliencki"
  12. role :web, "192.168.60.254"
  13. role :app, "192.168.60.254"
  14. role :db, "192.168.60.254", primary: true
  15.  
  16. # Server details
  17. set :user, "rubyapp"
  18. default_run_options[:pty] = true
  19. ssh_options[:forward_agent] = true
  20. set :deploy_to, "/home/#{user}/#{application}"
  21. set :use_sudo, false
  22.  
  23. # Repo details
  24. set :scm, :git
  25. set :scm_username, 'rubyapp'
  26. set :repository, "ssh://rubyapp@192.168.60.254//home/rubyapp/git/prokliencki.git"
  27. set :branch, "master"
  28.  
  29. # tasks
  30. namespace :deploy do
  31. # For Unicorn
  32. desc "Restart the master unicorn process"
  33. task :restart, roles: :app do
  34. run "kill -USR2 `cat #{deploy_to}/shared/pids/unicorn.pid`"
  35. end
  36.  
  37. desc "Start unicorn server"
  38. task :start, roles: :app do
  39. run "cd #{deploy_to}/current && unicorn_rails -c config/unicorn.rb -E production -D"
  40. end
  41.  
  42. desc "Stop unicorn server"
  43. task :stop, roles: :app do
  44. run "kill -TERM `cat #{deploy_to}/shared/pids/unicorn.pid`"
  45. end
  46.  
  47. # For db
  48. task :migrate, roles: :app do
  49. run "cd #{release_path} && rake db:migrate RAILS_ENV=production"
  50. end
  51. end
  52.  
  53. before 'deploy:restart', 'deploy:migrate'
  54.  
  55. before "deploy:setup", "db:configure"
  56. after "deploy:update_code", "db:symlink"
  57.  
  58. namespace :db do
  59. desc "Create database yaml in shared path"
  60. task :configure do
  61. set :database_password do
  62. Capistrano::CLI.password_prompt "Database Password: "
  63. end
  64.  
  65. db_config = <<-EOF
  66. development:
  67. adapter: sqlite3
  68. pool: 5
  69. timeout: 5000
  70. database: #{shared_path}/db/development.sqlite3
  71. <<: *base
  72.  
  73. test:
  74. adapter: sqlite3
  75. pool: 5
  76. timeout: 5000
  77. database: #{shared_path}/db/test.sqlite3
  78. <<: *base
  79.  
  80. production:
  81. adapter: postgresql
  82. encoding: unicode
  83. database: rubyapp
  84. pool: 5
  85. username: rubyapp
  86. password: #{database_password}
  87. EOF
  88.  
  89. run "mkdir -p #{shared_path}/config"
  90. put db_config, "#{shared_path}/config/database.yml"
  91. end
  92.  
  93. desc "Make symlink for database yaml"
  94. task :symlink do
  95. run "ln -nfs #{shared_path}/config/database.yml #{latest_release}/config/database.yml"
  96. end
  97. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement