Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.85 KB | None | 0 0
  1. set :application, "ops_central"
  2. set :repository, "git@gitlab.genii.in:#{application}.git"
  3. set :server_name, "testing.genii.in"
  4. set :user, 'webadmin'
  5. set :runner, 'webadmin'
  6. set :password, "Qwerty123!"
  7. set :deploy_via, :export
  8. set :scm, "git"
  9. set :ssh_options, { :forward_agent => true }
  10. set :branch, "dev"
  11. set :base_path, "/home/webadmin/sites"
  12. set :deploy_to, "/home/webadmin/sites/#{application}"
  13. set :apache_site_folder, "/etc/apache2/sites-enabled"
  14. set :migrate_target, :current
  15. set :migrate_env, :production
  16.  
  17. require "rvm/capistrano"
  18. require "bundler/capistrano"
  19.  
  20. set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*//,"")
  21. # set :rvm_ruby_string, "ruby-1.9.3p194"
  22. # set :rvm_type, :user is default
  23.  
  24. role :web, server_name
  25. role :app, server_name
  26. role :db, server_name, :primary => true
  27.  
  28. ssh_options[:paranoid] = false
  29. default_run_options[:pty] = true
  30.  
  31. before 'deploy:setup', 'rvm:install_rvm'
  32. before 'deploy:setup', 'rvm:install_ruby'
  33. after "deploy:setup", "init:set_permissions"
  34. after "deploy:setup", "init:database_yml"
  35. after "deploy:update_code", "config:copy_shared_configurations"
  36.  
  37. # Overrides for Phusion Passenger
  38. namespace :deploy do
  39. desc "Restarting mod_rails with restart.txt"
  40. task :restart, :roles => :app, :except => { :no_release => true } do
  41. run "touch #{current_path}/tmp/restart.txt"
  42. sudo "/etc/init.d/apache2 restart"
  43. end
  44.  
  45. [:start, :stop].each do |t|
  46. desc "#{t} task is a no-op with mod_rails"
  47. task t, :roles => :app do ; end
  48. end
  49. end
  50.  
  51. # Configuration Tasks
  52. namespace :config do
  53. desc "copy shared configurations to current"
  54. task :copy_shared_configurations, :roles => [:app] do
  55. %w[database.yml].each do |f|
  56. run "ln -nsf #{shared_path}/config/#{f} #{release_path}/config/#{f}"
  57. end
  58. end
  59. end
  60.  
  61. namespace :init do
  62.  
  63. desc "setting proper permissions for deploy user"
  64. task :set_permissions do
  65. sudo "chown -R webadmin #{base_path}/#{application}"
  66. end
  67.  
  68. desc "create mysql db"
  69. task :create_database do
  70. #create the database on setup
  71. set :db_user, Capistrano::CLI.ui.ask("database user: ") unless defined?(:db_user)
  72. set :db_pass, Capistrano::CLI.password_prompt("database password: ") unless defined?(:db_pass)
  73. run "echo "CREATE DATABASE #{application}_production" | mysql -u #{db_user} –password=#{db_pass}"
  74. end
  75.  
  76. desc "enable site"
  77. task :enable_site do
  78. sudo "ln -nsf #{shared_path}/config/apache_site.conf #{apache_site_folder}/#{application}"
  79.  
  80. end
  81.  
  82. desc "create database.yml"
  83. task :database_yml do
  84. set :db_user, Capistrano::CLI.ui.ask("database user: ")
  85. set :db_pass, Capistrano::CLI.password_prompt("database password: ")
  86. database_configuration = %(
  87. production:
  88. adapter: mysql2
  89. encoding: utf8
  90. database: #{application}_prod
  91. host: localhost
  92. username: #{db_user}
  93. password: #{db_pass}
  94. socket: /var/run/mysqld/mysqld.sock
  95. )
  96. run "mkdir -p #{shared_path}/config"
  97. put database_configuration, "#{shared_path}/config/database.yml"
  98. end
  99.  
  100.  
  101. desc "create vhost file"
  102. task :create_vhost do
  103.  
  104. vhost_configuration = %(
  105. <VirtualHost *:80>
  106. ServerName #{server_name}
  107. DocumentRoot #{base_path}/#{application}/current/public
  108. <Directory #{base_path}/#{application}/current/public>
  109. AllowOverride all
  110. Options -MultiViews
  111. </Directory>
  112. <LocationMatch "^/assets/.*$">
  113. Header unset ETag
  114. FileETag None
  115. ExpiresActive On
  116. ExpiresDefault "access plus 1 year"
  117. </LocationMatch>
  118. PassengerMinInstances 1
  119. </VirtualHost>
  120. )
  121.  
  122. put vhost_configuration, "#{shared_path}/config/apache_site.conf"
  123. end
  124. end
  125.  
  126. * executing "ln -s /home/webadmin/sites/ops_central/shared/pids /home/webadmin/sites/ops_central/releases/20120908145845/tmp/pids"
  127. servers: ["testing.genii.in"]
  128. [testing.genii.in] executing command
  129. command finished in 1518ms
  130. triggering after callbacks for `deploy:update_code'
  131. * executing `deploy:assets:precompile'
  132. * executing "cd /home/webadmin/sites/ops_central/releases/20120908145845 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
  133. servers: ["testing.genii.in"]
  134. [testing.genii.in] executing command
  135. ** [out :: testing.genii.in] rake aborted!
  136. ** [out :: testing.genii.in] cannot load such file -- faker
  137. ** [out :: testing.genii.in]
  138. ** [out :: testing.genii.in] (See full trace by running task with --trace)
  139. command finished in 10474ms
  140. *** [deploy:update_code] rolling back
  141. * executing "rm -rf /home/webadmin/sites/ops_central/releases/20120908145845; true"
  142. servers: ["testing.genii.in"]
  143. [testing.genii.in] executing command
  144. command finished in 1546ms
  145. 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