From 793e19ae84d13b01280257923e779dac60d23970 Mon Sep 17 00:00:00 2001 From: Nicolas Bally Date: Sat, 11 Aug 2018 20:25:51 +0200 Subject: [PATCH] Suite --- config/deploy.rb | 96 ++++++++++++++++++++----------------------- config/env_init | 6 +++ config/nginx.conf | 13 ++++-- config/unicorn.rb | 12 +++--- config/unicorn_init_d | 8 ++-- 5 files changed, 70 insertions(+), 65 deletions(-) create mode 100644 config/env_init mode change 100644 => 100755 config/unicorn_init_d diff --git a/config/deploy.rb b/config/deploy.rb index a49a9ee..9e8650d 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -1,28 +1,26 @@ - -# ajouter shared_path, modifier liens symboliques & mkdir set :application, 'vivre_app' - set :domain, 'test1.quartz.xyz' +set :domain, 'quartz-www02.sysnove.net' + + set :user, 'web' - set :scm_user, "git" -set :scm_host, "gitlab.bally.me" +set :scm_host, "quartz.snlab.fr" -set :rvm_ruby_string, 'ruby-2.0.0-p195' +set :rvm_ruby_string, 'ruby-2.1.2' set :rvm_autolibs_flag, "read-only" -set :bundle_cmd, "/home/#{user}/.rvm/gems/#{rvm_ruby_string}@global/bin/bundle" -set :bundle_dir, "/home/#{user}/.rvm/gems/#{rvm_ruby_string}" +set :bundle_cmd, "/srv/www/#{user}/.rvm/gems/#{rvm_ruby_string}@global/bin/bundle" +set :bundle_dir, "/srv/www/#{user}/.rvm/gems/#{rvm_ruby_string}" set :use_sudo, false -set :deploy_to, "/home/#{user}/#{application}/" - +set :deploy_to, "/srv/www/#{user}/#{application}/" set :deploy_via, :remote_cache set :normalize_asset_timestamps, false @@ -35,13 +33,10 @@ role :db, domain, :primary => true 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 :shared_path, "/media/bigone/shareds/#{application}" - default_run_options[:pty] = true @@ -54,7 +49,7 @@ require 'bundler/capistrano' load 'deploy/assets' namespace :deploy do - + # namespace :assets do # task :precompile, :roles => :web, :except => { :no_release => true } do # from = source.next_revision(current_revision) @@ -65,79 +60,75 @@ namespace :deploy do # end # end # end - - - + + + desc "Symlink shared config files" task :symlink_config_files do - - - run "ln -s #{shared_path}/private #{current_path}/private_medias" - run "ln -s #{shared_path}/public #{current_path}/public/public_medias" - run "ln -s #{shared_path}/production.sqlite3 #{current_path}/db/production.sqlite3" - - - - sudo "cp #{current_path}/config/unicorn_init_d /etc/init.d/#{application}" - sudo "chmod +x /etc/init.d/#{application}" - sudo "update-rc.d #{application} defaults " + run "ln -s #{deploy_to}shared/storage/private #{current_path}/private_medias" + + run "ln -s #{deploy_to}shared/storage/public #{current_path}/public/public_medias" + + + run "ln -s #{deploy_to}shared/production.sqlite3 #{current_path}/db/production.sqlite3" + + sudo "cp #{current_path}/config/env_init #{deploy_to}env_init" + + sudo "sudo systemctl enable quartz_app@#{application}" + + + + end task :start do - sudo "service #{application} start" + sudo "systemctl start quartz_app@#{application}" end task :stop do - run "service #{application} stop" + sudo "systemctl stop quartz_app@#{application}" end task :restart do - sudo "service #{application} restart" + sudo "systemctl stop quartz_app@#{application}" + sudo "systemctl start quartz_app@#{application}" end task :reload_nginx do - + sudo "rm -rf /etc/nginx/sites-enabled/#{application}" sudo "ln -s #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application} " - + sudo "service nginx reload" end - - - task :db_create do - run "cd #{deploy_to}current && bundle exec rake db:create RAILS_ENV=#{rails_env}" - end task :seeds do - run "cd #{deploy_to}current && bundle exec rake db:seed RAILS_ENV=#{rails_env}" + run "cd #{deploy_to}current && rake db:seed RAILS_ENV=#{rails_env}" end - + task :create_files_folders do - - # run "mkdir #{deploy_to}shared/storage" - # run "mkdir #{deploy_to}shared/storage/private" -# run "mkdir #{deploy_to}shared/storage/public" - - run "mkdir #{shared_path}/private" - run "mkdir #{shared_path}/public" + run "mkdir #{deploy_to}shared/storage" + run "mkdir #{deploy_to}shared/storage/private" + run "mkdir #{deploy_to}shared/storage/public" + run "mkdir #{deploy_to}shared/tmp" end - + end #before 'deploy:setup', 'rvm:install_rvm' # install RVM #before 'deploy:setup', 'rvm:install_ruby' # install Ruby and create gemset, OR: #before 'deploy:setup', 'rvm:create_gemset' # only create gemset - + after "deploy:setup", "deploy:create_files_folders" @@ -150,4 +141,7 @@ before "deploy:restart", "deploy:symlink_config_files" after "deploy", "deploy:cleanup" - \ No newline at end of file + + + + diff --git a/config/env_init b/config/env_init new file mode 100644 index 0000000..2d4b16e --- /dev/null +++ b/config/env_init @@ -0,0 +1,6 @@ +APP_RUBY=2.1.2 +ENV=production +APP_ROOT=/srv/www/web/sideplace_app/current/ +GEM_HOME=/srv/www/web/.rvm/gems/ruby-$APP_RUBY +UNICORN_OPTS="-D -E ${ENV} -c ${APP_ROOT}/config/unicorn.rb" + diff --git a/config/nginx.conf b/config/nginx.conf index a70ddde..85e0fab 100644 --- a/config/nginx.conf +++ b/config/nginx.conf @@ -1,11 +1,11 @@ upstream vivre_app_unicorn { - server unix:/home/web/vivre_app/unicorn.sock fail_timeout=0; + server unix:/srv/www/web/vivre_app/unicorn.sock fail_timeout=0; } server { listen 80; - server_name test1.quartz.xyz vivre.simplement.la; - root /home/web/vivre_app/current/public; + server_name vivre.simplement.la simplement.quartz.xyz; + root /srv/www/web/vivre_app/current/public; try_files $uri/index.html $uri @unicorn; location @unicorn { @@ -19,10 +19,15 @@ server { error_page 500 502 503 504 /500.html; client_max_body_size 4G; keepalive_timeout 10; + + include snippets/letsencrypt.conf; } server { listen 80; server_name www.vivre.simplement.la; - rewrite ^(.*) http://vivre.simplement.la$1 permanent; + + return 301 http://simplement.la$request_uri; + + include snippets/letsencrypt.conf; } diff --git a/config/unicorn.rb b/config/unicorn.rb index 430bc60..175111c 100644 --- a/config/unicorn.rb +++ b/config/unicorn.rb @@ -1,10 +1,10 @@ @rails_app = "vivre_app" -working_directory "/home/web/#{@rails_app}/current" -pid "/home/web/#{@rails_app}/unicorn.pid" -stderr_path "/media/bigone/shareds/#{@rails_app}/unicorn.log" -stdout_path "/media/bigone/shareds/#{@rails_app}/unicorn.log" +working_directory "/srv/www/web/#{@rails_app}/current" +pid "/srv/www/web/#{@rails_app}/shared/unicorn.pid" +stderr_path "/srv/www/web/#{@rails_app}/shared/log/unicorn.log" +stdout_path "/srv/www/web/#{@rails_app}/shared/log/unicorn.log" -listen "/home/web/#{@rails_app}/unicorn.sock" +listen "/srv/www/web/#{@rails_app}/shared/tmp/unicorn.sock" worker_processes 2 -timeout 600 \ No newline at end of file +timeout 600 diff --git a/config/unicorn_init_d b/config/unicorn_init_d old mode 100644 new mode 100755 index 7ca70c8..e1226b2 --- a/config/unicorn_init_d +++ b/config/unicorn_init_d @@ -6,12 +6,12 @@ set -e # Change these to match your app: APP_NAME=vivre_app -APP_RUBY=2.0.0-p195 -APP_ROOT="/home/web/vivre_app/current" -PID="/home/web/vivre_app/unicorn.pid" +APP_RUBY=2.1.2 +APP_ROOT="/srv/www/web/vivre_app/current" +PID="/srv/www/web/vivre_app/unicorn.pid" 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"