【发布时间】:2017-02-12 19:20:31
【问题描述】:
我想将我的单元文件保存在源代码控制中(例如 config),这样在 capistrano 部署后,单元将被复制到 systemd 目录,并且服务(例如 puma)将被重新启动。实现这一目标的最佳方法是什么?
我想过简单地添加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
【问题讨论】:
标签: deployment capistrano capistrano3 systemd