论坛首页 Ruby版 rails

请问,使用capistrano布署时,public下的文件如何保持不动

浏览 358 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-07-08
为了减少mysql的IO,我将用户的头像数据保存在public/目录下,使用的是attach_fu插件

但使用capistrano布署的时候,每次deploy,current就指向了最新的release版本,那我以前public目录下的头像文件自己取回呢.








自己考虑过两种办法:


想过使用link的方式,即将头像保存在capistrano的shared/目录中,但不知道使用attachment_fu如何保存,及用户请求头像时,采用何种路径.

亦或者是每次布署完毕后使用shell把前一版本的public下的头像目录减切过去?

请指教....
   
最后更新时间:2008-07-08
用目录链接
   
0 请登录后投票
最后更新时间:2008-07-09
把实际文件存在 shared 目录下,每次发布后在 current/public 下创建一个指向实际头像目录的符号链接。以下是我的 deploy.rb 里的部分代码。

  task :after_update_code, :roles => :app do
    run "cp -rf #{release_path}/config/staging/* #{release_path}/config"

    run "rm -rf #{release_path}/public/user"
    run "ln -s #{shared_path}/user #{release_path}/public/user"

    run "cd #{release_path} && rake RAILS_ENV=#{rails_env} asset:packager:build_all"
  end
   
0 请登录后投票
最后更新时间:2008-07-11
Quake Wang说得没错,用链接,复制/剪切太慢,还容易出错。参考rainux的sample code。
   
0 请登录后投票
论坛首页 Ruby版 rails

跳转论坛:
JavaEye推荐