以下のタスクをcapistranoのdeploy.rmに追加するだけ。
puma.serviceはすでに/etc/systemd/system/puma.serviceに存在する前提。
namespace :puma do after :start, :start_systemd_puma_service do on roles(:web), in: :groups, limit: 3, wait: 10 do within release_path do execute "sudo systemctl daemon-reload" execute "sudo systemctl restart puma" end end end end
もしくはpuma:startを上書きしてもよいか。。
こちらは試してない。
Rake::Task["puma:start"].clear
[参考]
deployment - Capistrano and systemd integration - Stack Overflow
rake taskを上書きする