私はユニットコントロールファイルをソース管理(例えばconfig
)のままにしておきます。カピストラノ展開後にユニットは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
ありがとうございます、あなたの仕事のための完全なコードを共有できますか?私はシンボリックリンクに問題があることを思い出しますが、最近のバージョンではおそらく解決されました。 – dimid