Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set :application, "ops_central"
- set :repository, "git@gitlab.genii.in:#{application}.git"
- set :server_name, "testing.genii.in"
- set :user, 'webadmin'
- set :runner, 'webadmin'
- set :password, "Qwerty123!"
- set :deploy_via, :export
- set :scm, "git"
- set :ssh_options, { :forward_agent => true }
- set :branch, "dev"
- set :base_path, "/home/webadmin/sites"
- set :deploy_to, "/home/webadmin/sites/#{application}"
- set :apache_site_folder, "/etc/apache2/sites-enabled"
- set :migrate_target, :current
- set :migrate_env, :production
- require "rvm/capistrano"
- require "bundler/capistrano"
- set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*//,"")
- # set :rvm_ruby_string, "ruby-1.9.3p194"
- # set :rvm_type, :user is default
- role :web, server_name
- role :app, server_name
- role :db, server_name, :primary => true
- ssh_options[:paranoid] = false
- default_run_options[:pty] = true
- before 'deploy:setup', 'rvm:install_rvm'
- before 'deploy:setup', 'rvm:install_ruby'
- after "deploy:setup", "init:set_permissions"
- after "deploy:setup", "init:database_yml"
- after "deploy:update_code", "config:copy_shared_configurations"
- # Overrides for Phusion Passenger
- namespace :deploy do
- desc "Restarting mod_rails with restart.txt"
- task :restart, :roles => :app, :except => { :no_release => true } do
- run "touch #{current_path}/tmp/restart.txt"
- sudo "/etc/init.d/apache2 restart"
- end
- [:start, :stop].each do |t|
- desc "#{t} task is a no-op with mod_rails"
- task t, :roles => :app do ; end
- end
- end
- # Configuration Tasks
- namespace :config do
- desc "copy shared configurations to current"
- task :copy_shared_configurations, :roles => [:app] do
- %w[database.yml].each do |f|
- run "ln -nsf #{shared_path}/config/#{f} #{release_path}/config/#{f}"
- end
- end
- end
- namespace :init do
- desc "setting proper permissions for deploy user"
- task :set_permissions do
- sudo "chown -R webadmin #{base_path}/#{application}"
- end
- desc "create mysql db"
- task :create_database do
- #create the database on setup
- set :db_user, Capistrano::CLI.ui.ask("database user: ") unless defined?(:db_user)
- set :db_pass, Capistrano::CLI.password_prompt("database password: ") unless defined?(:db_pass)
- run "echo "CREATE DATABASE #{application}_production" | mysql -u #{db_user} βpassword=#{db_pass}"
- end
- desc "enable site"
- task :enable_site do
- sudo "ln -nsf #{shared_path}/config/apache_site.conf #{apache_site_folder}/#{application}"
- end
- desc "create database.yml"
- task :database_yml do
- set :db_user, Capistrano::CLI.ui.ask("database user: ")
- set :db_pass, Capistrano::CLI.password_prompt("database password: ")
- database_configuration = %(
- production:
- adapter: mysql2
- encoding: utf8
- database: #{application}_prod
- host: localhost
- username: #{db_user}
- password: #{db_pass}
- socket: /var/run/mysqld/mysqld.sock
- )
- run "mkdir -p #{shared_path}/config"
- put database_configuration, "#{shared_path}/config/database.yml"
- end
- desc "create vhost file"
- task :create_vhost do
- vhost_configuration = %(
- <VirtualHost *:80>
- ServerName #{server_name}
- DocumentRoot #{base_path}/#{application}/current/public
- <Directory #{base_path}/#{application}/current/public>
- AllowOverride all
- Options -MultiViews
- </Directory>
- <LocationMatch "^/assets/.*$">
- Header unset ETag
- FileETag None
- ExpiresActive On
- ExpiresDefault "access plus 1 year"
- </LocationMatch>
- PassengerMinInstances 1
- </VirtualHost>
- )
- put vhost_configuration, "#{shared_path}/config/apache_site.conf"
- end
- end
- * executing "ln -s /home/webadmin/sites/ops_central/shared/pids /home/webadmin/sites/ops_central/releases/20120908145845/tmp/pids"
- servers: ["testing.genii.in"]
- [testing.genii.in] executing command
- command finished in 1518ms
- triggering after callbacks for `deploy:update_code'
- * executing `deploy:assets:precompile'
- * executing "cd /home/webadmin/sites/ops_central/releases/20120908145845 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
- servers: ["testing.genii.in"]
- [testing.genii.in] executing command
- ** [out :: testing.genii.in] rake aborted!
- ** [out :: testing.genii.in] cannot load such file -- faker
- ** [out :: testing.genii.in]
- ** [out :: testing.genii.in] (See full trace by running task with --trace)
- command finished in 10474ms
- *** [deploy:update_code] rolling back
- * executing "rm -rf /home/webadmin/sites/ops_central/releases/20120908145845; true"
- servers: ["testing.genii.in"]
- [testing.genii.in] executing command
- command finished in 1546ms
- failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell 'ruby-1.9.3-p194' -c 'cd /home/webadmin/sites/ops_central/releases/20120908145845 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" on testing.genii.in
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement