【发布时间】:2014-05-10 10:34:33
【问题描述】:
我按照Capistrano 上的说明设置部署配置,我现在可以将 git 中的代码部署到我的 Web 服务器。但是由于 tmp 文件夹不在 git 存储库中,Capistrano 似乎无法重新启动我的 Ruby-On-Rails 应用程序(通过触摸 tmp/restart.txt,这需要 tmp 文件夹存在)。
我该怎么办?我应该将 tmp 文件夹添加到 git repo 中吗?或者如果 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
【问题讨论】:
标签: ruby-on-rails-4 capistrano