Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # RVM boostrap
- $:.unshift(File.expand_path('~/.rvm/lib', ENV['rvm_path']))
- require "rvm/capistrano"
- set :rvm_ruby_string, '1.9.2@prokliencki'
- set :rvm_type, :user
- # Bundler bootstrap
- require 'bundler/capistrano'
- # Main details
- set :application, "prokliencki"
- role :web, "192.168.60.254"
- role :app, "192.168.60.254"
- role :db, "192.168.60.254", primary: true
- # Server details
- set :user, "rubyapp"
- default_run_options[:pty] = true
- ssh_options[:forward_agent] = true
- set :deploy_to, "/home/#{user}/#{application}"
- set :use_sudo, false
- # Repo details
- set :scm, :git
- set :scm_username, 'rubyapp'
- set :repository, "ssh://rubyapp@192.168.60.254//home/rubyapp/git/prokliencki.git"
- set :branch, "master"
- # tasks
- namespace :deploy do
- # For Unicorn
- desc "Restart the master unicorn process"
- task :restart, roles: :app do
- run "kill -USR2 `cat #{deploy_to}/shared/pids/unicorn.pid`"
- end
- desc "Start unicorn server"
- task :start, roles: :app do
- run "cd #{deploy_to}/current && unicorn_rails -c config/unicorn.rb -E production -D"
- end
- desc "Stop unicorn server"
- task :stop, roles: :app do
- run "kill -TERM `cat #{deploy_to}/shared/pids/unicorn.pid`"
- end
- # For db
- task :migrate, roles: :app do
- run "cd #{release_path} && rake db:migrate RAILS_ENV=production"
- end
- end
- before 'deploy:restart', 'deploy:migrate'
- before "deploy:setup", "db:configure"
- after "deploy:update_code", "db:symlink"
- namespace :db do
- desc "Create database yaml in shared path"
- task :configure do
- set :database_password do
- Capistrano::CLI.password_prompt "Database Password: "
- end
- db_config = <<-EOF
- development:
- adapter: sqlite3
- pool: 5
- timeout: 5000
- database: #{shared_path}/db/development.sqlite3
- <<: *base
- test:
- adapter: sqlite3
- pool: 5
- timeout: 5000
- database: #{shared_path}/db/test.sqlite3
- <<: *base
- production:
- adapter: postgresql
- encoding: unicode
- database: rubyapp
- pool: 5
- username: rubyapp
- password: #{database_password}
- EOF
- run "mkdir -p #{shared_path}/config"
- put db_config, "#{shared_path}/config/database.yml"
- end
- desc "Make symlink for database yaml"
- task :symlink do
- run "ln -nfs #{shared_path}/config/database.yml #{latest_release}/config/database.yml"
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement