0
我按照Capistrano上的說明設置了部署配置,並且我現在可以在git中將代碼部署到我的Web服務器。但由於tmp文件夾不在git存儲庫中,Capistrano似乎無法重新啓動我的Ruby-On-Rails應用程序(通過觸摸需要tmp文件夾存在的tmp/restart.txt)。通過Capistrano 3.x部署後Rails應用程序不會自動重新啓動
我該怎麼辦?我應該將tmp文件夾添加到git repo中嗎?或者如果Capistrano不存在,Capistrano是否可以創建該文件夾?
解決方案:
Rake::Task["deploy:restart"].clear_actions
namespace :deploy do
task :restart do
on roles(:web) do |host|
execute "mkdir -p #{fetch(:deploy_to)}/current/tmp"
info "create folder #{fetch(:deploy_to)}/current/tmp"
execute "touch #{fetch(:deploy_to)}/current/tmp/restart.txt"
end
end
end
我使用execute命令創建了tmp文件夾,方法是重新定義deploy:restart task –