Ich möchte meine Unit-Dateien in der Quellcodeverwaltung behalten (zB in config
), so dass nach einem capistrano deploy das Gerät in das Verzeichnis systemd
kopiert wird und der Dienst (zB Puma) wird neu gestartet werden. Was wäre der beste Weg, dies zu erreichen?Capistrano und systemd integration
Ich habe einfach gedacht a post-deploy task wie (ungetestet Code) Zugabe
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
Danke, können Sie den vollständigen Code für Ihre Aufgabe teilen? Ich erinnere mich, Systemd Probleme mit Symlinks, aber vielleicht wurde es in den letzten Versionen gelöst. – dimid