diff --git a/Capfile b/Capfile index 6c50ca0..d97ac4f 100644 --- a/Capfile +++ b/Capfile @@ -5,12 +5,12 @@ require 'capistrano/setup' # Include default deployment tasks require 'capistrano/deploy' +require 'capistrano/rails' require 'capistrano/scm/git' install_plugin Capistrano::SCM::Git require 'capistrano/bundler' -require 'capistrano/passenger' # Load custom tasks from `lib/capistrano/tasks` if you have any defined Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r } diff --git a/Gemfile b/Gemfile index d2742d1..fde40f0 100644 --- a/Gemfile +++ b/Gemfile @@ -23,7 +23,7 @@ group :development do gem 'bcrypt_pbkdf' gem 'capistrano', require: false gem 'capistrano-bundler' - gem 'capistrano-passenger' + gem 'capistrano-rails', require: false gem 'ed25519' end diff --git a/Gemfile.lock b/Gemfile.lock index c40d37e..7b20684 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -43,8 +43,9 @@ GEM sshkit (>= 1.9.0) capistrano-bundler (2.1.0) capistrano (~> 3.1) - capistrano-passenger (0.2.1) - capistrano (~> 3.0) + capistrano-rails (1.6.3) + capistrano (~> 3.1) + capistrano-bundler (>= 1.1, < 3) coderay (1.1.3) concurrent-ruby (1.2.2) crack (0.4.5) @@ -207,7 +208,7 @@ DEPENDENCIES brakeman capistrano capistrano-bundler - capistrano-passenger + capistrano-rails ddtrace dogstatsd-ruby ed25519 diff --git a/config/deploy.rb b/config/deploy.rb index a81f130..c3d5cca 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -12,4 +12,13 @@ set :ssh_options, { forward_agent: true } -set :passenger_restart_with_touch, true +namespace :passenger do + desc 'Restart application' + task :restart do + on roles(:app), in: :sequence, wait: 5 do + execute 'passenger-config restart-app /opt/allsearch_rails_api/current' + end + end + + after :publishing, :restart +end diff --git a/config/deploy/production.rb b/config/deploy/production.rb index 656b69a..b7314db 100644 --- a/config/deploy/production.rb +++ b/config/deploy/production.rb @@ -2,5 +2,5 @@ set :stage, :production set :rails_env, 'production' -server 'allsearch-api-prod1', user: 'deploy' -server 'allsearch-api-prod2', user: 'deploy' +server 'allsearch-api-prod1', user: 'deploy', roles: ['app'] +server 'allsearch-api-prod2', user: 'deploy', roles: ['app'] diff --git a/config/deploy/staging.rb b/config/deploy/staging.rb index 976b9e6..2a1d389 100644 --- a/config/deploy/staging.rb +++ b/config/deploy/staging.rb @@ -2,4 +2,4 @@ set :stage, :staging set :rails_env, 'staging' -server 'allsearch-api-staging1', user: 'deploy' +server 'allsearch-api-staging1', user: 'deploy', roles: ['app']