Я хотел бы сохранить файлы своих модулей в исходном контроле (например, в config
), так что после развертывания capistrano устройство будет скопировано в каталог systemd
, и служба (например, puma) будет перезапустить. Какой был бы лучший способ достичь этого?Интеграция Capistrano и systemd
Я думал, просто добавив 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