From e09e225e5c1b0ccf28cf608f0fc9aa14ed30e3e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A8r=20Kessels?= Date: Sun, 10 May 2020 10:19:49 +0200 Subject: [PATCH] Include capistrano tasks that reload the services after deploying. (#12642) After a successfull deploy, I need the services to switch over to use the new code. I need to restart the services. These capistrano tasks do that. --- config/deploy.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/deploy.rb b/config/deploy.rb index 31d142275..76e6b2815 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -12,3 +12,21 @@ set :migration_role, :app append :linked_files, '.env.production', 'public/robots.txt' append :linked_dirs, 'vendor/bundle', 'node_modules', 'public/system' + +namespace :systemd do + %i[sidekiq streaming web].each do |service| + %i[reload restart status].each do |action| + desc "Perform a #{action} on #{service} service" + task "#{service}:#{action}".to_sym do + on roles(:app) do + # runs e.g. "sudo restart mastodon-sidekiq.service" + sudo :systemctl, action, "#{fetch(:application)}-#{service}.service" + end + end + end + end +end + +after 'deploy:publishing', 'systemd:web:reload' +after 'deploy:publishing', 'systemd:sidekiq:restart' +after 'deploy:publishing', 'systemd:streaming:restart'