This commit is contained in:
Nicolas Bally 2018-08-12 21:52:24 +02:00
parent 703d7b06a1
commit 9488423a26
5 changed files with 121 additions and 108 deletions

View File

@ -1,65 +1,65 @@
set :application, 'urgence_app' set :application, 'urgence_app'
set :domain, '231.quartz.xyz' set :domain, 'quartz-www02.sysnove.net'
set :user, 'web' set :user, 'web'
set :scm_user, "git" set :scm_user, "git"
set :scm_host, "git.nicolasbally.com" set :scm_host, "quartz.snlab.fr"
set :rvm_ruby_string, 'ruby-2.1.2' set :rvm_ruby_string, 'ruby-2.1.2'
set :rvm_autolibs_flag, "read-only" set :rvm_autolibs_flag, "read-only"
set :bundle_cmd, "/home/#{user}/.rvm/gems/#{rvm_ruby_string}@global/bin/bundle" set :bundle_cmd, "/srv/www/#{user}/.rvm/gems/#{rvm_ruby_string}@global/bin/bundle"
set :bundle_dir, "/home/#{user}/.rvm/gems/#{rvm_ruby_string}" set :bundle_dir, "/srv/www/#{user}/.rvm/gems/#{rvm_ruby_string}"
set :use_sudo, false set :use_sudo, false
set :deploy_to, "/home/#{user}/#{application}/" set :deploy_to, "/srv/www/#{user}/#{application}/"
set :deploy_via, :remote_cache set :deploy_via, :remote_cache
set :normalize_asset_timestamps, false set :normalize_asset_timestamps, false
set :rails_env, "production" set :rails_env, "production"
role :app, domain role :app, domain
role :web, domain role :web, domain
role :db, domain, :primary => true role :db, domain, :primary => true
set :scm, :git set :scm, :git
set :repository, "#{scm_user}@#{scm_host}:root/#{application}.git" set :repository, "#{scm_user}@#{scm_host}:nicolas/#{application}.git"
set :branch, "master" set :branch, "master"
default_run_options[:pty] = true default_run_options[:pty] = true
require "rvm/capistrano" require "rvm/capistrano"
require 'bundler/capistrano' require 'bundler/capistrano'
load 'deploy/assets' load 'deploy/assets'
namespace :deploy do namespace :deploy do
# namespace :assets do # namespace :assets do
# task :precompile, :roles => :web, :except => { :no_release => true } do # task :precompile, :roles => :web, :except => { :no_release => true } do
# from = source.next_revision(current_revision) # from = source.next_revision(current_revision)
# if releases.length <= 1 || capture("cd #{latest_release} && #{source.local.log(from)} vendor/assets/ app/assets/ | wc -l").to_i > 0 # if releases.length <= 1 || capture("cd #{latest_release} && #{source.local.log(from)} vendor/assets/ app/assets/ | wc -l").to_i > 0
# run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile} # run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile}
# else # else
# logger.info "Skipping asset pre-compilation because there were no asset changes" # logger.info "Skipping asset pre-compilation because there were no asset changes"
# end # end
# end # end
# end # end
@ -74,22 +74,26 @@ set :application, 'urgence_app'
run "ln -s #{deploy_to}shared/production.sqlite3 #{current_path}/db/production.sqlite3" run "ln -s #{deploy_to}shared/production.sqlite3 #{current_path}/db/production.sqlite3"
sudo "cp #{current_path}/config/unicorn_init_d /etc/init.d/#{application}" sudo "cp #{current_path}/config/env_init #{deploy_to}env_init"
sudo "sudo systemctl enable quartz_app@#{application}"
sudo "chmod +x /etc/init.d/#{application}"
sudo "update-rc.d #{application} defaults "
end end
task :start do task :start do
sudo "service #{application} start" sudo "systemctl start quartz_app@#{application}"
end end
task :stop do task :stop do
run "service #{application} stop" sudo "systemctl stop quartz_app@#{application}"
end end
task :restart do task :restart do
sudo "service #{application} restart" sudo "systemctl stop quartz_app@#{application}"
sudo "systemctl start quartz_app@#{application}"
end end
task :reload_nginx do task :reload_nginx do
@ -113,27 +117,30 @@ set :application, 'urgence_app'
run "mkdir #{deploy_to}shared/storage" run "mkdir #{deploy_to}shared/storage"
run "mkdir #{deploy_to}shared/storage/private" run "mkdir #{deploy_to}shared/storage/private"
run "mkdir #{deploy_to}shared/storage/public" run "mkdir #{deploy_to}shared/storage/public"
run "mkdir #{deploy_to}shared/tmp"
end end
end end
#before 'deploy:setup', 'rvm:install_rvm' # install RVM #before 'deploy:setup', 'rvm:install_rvm' # install RVM
#before 'deploy:setup', 'rvm:install_ruby' # install Ruby and create gemset, OR: #before 'deploy:setup', 'rvm:install_ruby' # install Ruby and create gemset, OR:
#before 'deploy:setup', 'rvm:create_gemset' # only create gemset #before 'deploy:setup', 'rvm:create_gemset' # only create gemset
after "deploy:setup", "deploy:create_files_folders" after "deploy:setup", "deploy:create_files_folders"
#after "deploy:restart", "deploy:cleanup" #after "deploy:restart", "deploy:cleanup"
before "deploy:restart", "deploy:symlink_config_files" before "deploy:restart", "deploy:symlink_config_files"
after "deploy", "deploy:cleanup"
after "deploy", "deploy:cleanup"

6
config/env_init Normal file
View File

@ -0,0 +1,6 @@
APP_RUBY=2.1.2
ENV=production
APP_ROOT=/srv/www/web/urgence_app/current/
GEM_HOME=/srv/www/web/.rvm/gems/ruby-$APP_RUBY
UNICORN_OPTS="-D -E ${ENV} -c ${APP_ROOT}/config/unicorn.rb"

View File

@ -1,11 +1,11 @@
upstream urgence_app_unicorn { upstream urgence_app_unicorn {
server unix:/home/web/urgence_app/shared/unicorn.sock fail_timeout=0; server unix:/srv/www/web/urgence_app/shared/unicorn.sock fail_timeout=0;
} }
server { server {
listen 80; listen [::]:80;
server_name logementdurgence.com; server_name logementdurgence.com;
root /home/web/urgence_app/current/public; root /srv/www/web/urgence_app/current/public;
try_files $uri/index.html $uri @unicorn; try_files $uri/index.html $uri @unicorn;
location @unicorn { location @unicorn {
@ -21,7 +21,7 @@ server {
} }
server { server {
listen 80; listen [::]:80;
server_name www.logementdurgence.com www.urgence.quartz.xyz urgence.quartz.xyz; server_name www.logementdurgence.com www.urgence.quartz.xyz urgence.quartz.xyz;
rewrite ^(.*) http://logementdurgence.com$1 permanent; rewrite ^(.*) http://logementdurgence.com$1 permanent;
} }

View File

@ -1,10 +1,10 @@
@rails_app = "urgence_app" @rails_app = "urgence_app"
working_directory "/home/web/#{@rails_app}/current" working_directory "/srv/www/web/#{@rails_app}/current"
pid "/home/web/#{@rails_app}/shared/unicorn.pid" pid "/srv/www/web/#{@rails_app}/shared/unicorn.pid"
stderr_path "/home/web/#{@rails_app}/shared/log/unicorn.log" stderr_path "/srv/www/web/#{@rails_app}/shared/log/unicorn.log"
stdout_path "/home/web/#{@rails_app}/shared/log/unicorn.log" stdout_path "/srv/www/web/#{@rails_app}/shared/log/unicorn.log"
listen "/home/web/#{@rails_app}/shared/unicorn.sock" listen "/srv/www/web/#{@rails_app}/shared/tmp/unicorn.sock"
worker_processes 2 worker_processes 2
timeout 30 timeout 600

View File

@ -7,11 +7,11 @@ set -e
# Change these to match your app: # Change these to match your app:
APP_NAME=urgence_app APP_NAME=urgence_app
APP_RUBY=2.1.2 APP_RUBY=2.1.2
APP_ROOT="/home/web/urgence_app/current" APP_ROOT="/srv/www/web/urgence_app/current"
PID="/home/web/urgence_app/shared/unicorn.pid" PID="/srv/www/web/urgence_app/shared/unicorn.pid"
ENV=production ENV=production
GEM_HOME="/home/web/.rvm/gems/ruby-$APP_RUBY" GEM_HOME="/srv/www/web/.rvm/gems/ruby-$APP_RUBY"
UNICORN_OPTS="-D -E $ENV -c $APP_ROOT/config/unicorn.rb" UNICORN_OPTS="-D -E $ENV -c $APP_ROOT/config/unicorn.rb"