diff --git a/Capfile b/Capfile index 17cac72e..ea78041f 100644 --- a/Capfile +++ b/Capfile @@ -7,8 +7,9 @@ require 'capistrano/deploy' require 'capistrano/rbenv' require 'capistrano/puma' install_plugin Capistrano::Puma # Default puma tasks -require 'capistrano/puma/workers' -require 'capistrano/puma/jungle' +install_plugin Capistrano::Puma::Systemd +# require 'capistrano/puma/workers' +# require 'capistrano/puma/jungle' require 'capistrano/bundler' require 'capistrano/nginx' require 'capistrano/rails/assets' diff --git a/Gemfile b/Gemfile index 98f17be0..2a51dc9e 100644 --- a/Gemfile +++ b/Gemfile @@ -33,7 +33,7 @@ group :development do gem 'capistrano-bundler' gem 'capistrano-rails' gem 'capistrano-rails-console' - gem 'capistrano3-puma' #, '< 5' + gem 'capistrano3-puma', '~> 6.0.beta' gem 'capistrano-rbenv' gem 'capistrano-nginx', github: 'koenpunt/capistrano-nginx' gem "capistrano-db-tasks", require: false diff --git a/Gemfile.lock b/Gemfile.lock index e85eb448..deea60aa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -129,9 +129,10 @@ GEM capistrano3-delayed-job (1.7.6) capistrano (~> 3.0, >= 3.0.0) daemons (~> 1.3) - capistrano3-puma (1.2.1) - capistrano (~> 3.0) - puma (>= 2.6) + capistrano3-puma (6.0.0.beta.1) + capistrano (~> 3.7) + capistrano-bundler + puma (>= 5.1, < 7.0) capybara (3.39.2) addressable matrix @@ -582,7 +583,7 @@ DEPENDENCIES capistrano-rails-console capistrano-rbenv capistrano3-delayed-job (~> 1.0) - capistrano3-puma + capistrano3-puma (~> 6.0.beta) capybara capybara-screenshot ci_reporter_rspec diff --git a/config/deploy.rb b/config/deploy.rb index ff2578cd..5a2e5d84 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -44,6 +44,7 @@ set :default_env, { # rbenv system global rbenv install config # set :rbenv_custom_path, "/usr/local/rbenv" # set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_custom_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_custom_path)}/bin/rbenv exec" +set :rbenv_prefix, "/home/thirteen/.rbenv/bin/rbenv exec" set :nginx_path, '/etc/nginx' # directory containing sites-available and sites-enabled set :nginx_template, 'config/deploy/nginx_conf.erb' # configuration template @@ -56,6 +57,8 @@ set :nginx_template, 'config/deploy/nginx_conf.erb' # configuration template set :pg_user, "thirteen_tien_len_#{fetch(:stage)}" set :pg_database, "thirteen_tien_len_#{fetch(:stage)}" +set :puma_enable_socket_service, true + namespace :db do desc 'Setup the database' task :setup do diff --git a/config/deploy/staging.rb b/config/deploy/staging.rb index fac04704..0487ea88 100644 --- a/config/deploy/staging.rb +++ b/config/deploy/staging.rb @@ -1,15 +1,18 @@ set :stage, :staging - -set :nginx_server_name, 'staging.tienlen.ga' # optional, defaults to :application +set :remote_user, "bort" +set :deploy_to, "/home/bort/srv/thirteen-tien-len_#{fetch(:stage)}" +set :pg_user, "bort" +set :rbenv_prefix, "/home/bort/.rbenv/bin/rbenv exec" +set :nginx_server_name, 'shangtsung' # optional, defaults to :application # Simple Role Syntax # ================== # Supports bulk-adding hosts to roles, the primary # server in each group is considered to be the first # unless any hosts have the primary property set. -role :app, %w{jesse@staging.tienlen.ga} -role :web, %w{jesse@staging.tienlen.ga} -role :db, %w{jesse@staging.tienlen.ga} +role :app, %w{bort@shangtsung} +role :web, %w{bort@shangtsung} +role :db, %w{bort@shangtsung} # Extended Server Syntax # ====================== @@ -17,18 +20,18 @@ role :db, %w{jesse@staging.tienlen.ga} # definition into the server list. The second argument # something that quacks like a hash can be used to set # extended properties on the server. -server 'staging.tienlen.ga', user: 'jesse', roles: %w{web app db}, my_property: :my_value +server 'shangtsung', user: 'bort', roles: %w{web app db}, my_property: :my_value # you can set custom ssh options # it's possible to pass any option but you need to keep in mind that net/ssh understand limited list of options # you can see them in [net/ssh documentation](http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start) # set it globally - set :ssh_options, { + # set :ssh_options, { # keys: %w(/home/rlisowski/.ssh/id_rsa), # forward_agent: false, # auth_methods: %w(password) - port: 27997 - } + # port: 27997 + # } # and/or per server # server 'example.com', # user: 'user_name',