перезагрузите с capistrano после развертывания, но перезапустите, если Gemfile изменился - PullRequest
0 голосов
/ 16 мая 2019

Я использую Capistrano + Capistrano :: Bundler, после развертывания приложения перезагружаю единорогов с помощью:

after :finished, :reload_unicorns do
  on roles(:app) do
    execute '/usr/bin/sudo /bin/systemctl reload app.service'
  end
end

перезагрузка службы systemd выглядит следующим образом:

ExecStart=/usr/local/bin/bundle exec "unicorn_rails -D -c config/unicorn.conf.rb -E production"
ExecStop=/bin/kill -s SIGQUIT $MAINPID 
# USR2 signal will spawn the new master process, the kill signal to the old master should be send from rails
ExecReload=/bin/kill -s SIGUSR2 $MAINPID

он работает нормально и перезагружает приложение без простоев, но когда я обновляю Gemfile, ему требуется перезапуск вместо перезагрузки, может ли capistrano автоматически перезагружаться при изменении Gemfile?

...