防止公共文件夹中的某些文件夹被删除capistrano rails

Dev*_*tel 6 deployment capistrano ruby-on-rails

我有一个用户上传图像的应用程序,它们通过CarrierWave存储到公共文件夹,名为uploads/images /的文件夹中.

我刚刚注意到,自从我最近部署以来,上传(和图像)文件夹不再存在.

当我使用Capistrano部署时,是否可以删除生产服务器上的文件夹和文件?

如何告诉它在所有部署中保留相同的public/uploads文件夹?

谢谢堆栈!

jvp*_*rin 7

我建议创建一个capistrano任务,创建共享文件夹的符号链接.符号链接将充当目录的链接,因此您的所有上传存储/检索代码将正常工作.

Capistrano任务示例:

before "deploy:restart", :symlink_directories
task :symlink_directories do
  run "ln -nfs #{shared_path}/uploads #{release_path}/public/uploads"
end
Run Code Online (Sandbox Code Playgroud)

  • 只需将上述任务放在deploy.rb中,然后将路径更改为适合您的应用程序 (3认同)