我想保留我的单元文件在源代码管理中(例如在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