我想保留我的單元文件在源代碼管理中(例如在config
),這樣在部署capistrano之後,該單元將被複制到systemd
目錄中,服務(例如puma)將重新啓動。什麼是實現這一目標的最佳方式?Capistrano和系統集成
我想簡單地增加a post-deploy task如(未經測試的代碼)
namespace :deploy do
[...]
before :published, :systemd
desc 'systemd'
task :systemd do
on roles(:web), in: :groups, limit: 3, wait: 10 do
within release_path do
execute "sudo cp config/puma.service /etc/systemd/system/puma.service"
execute "sudo cp config/puma-init /usr/bin/puma-init"
execute "sudo systemctl daemon-reload"
execute "sudo systemctl restart puma"
end
end
end
end
謝謝,你能分享完整的代碼爲你的任務?我記得systemd在符號鏈接方面存在問題,但也許在最近的版本中已經解決了。 – dimid