Noob Capistrano关于保留上传目录的问题

时间:2010-05-13 10:37:48

标签: ruby-on-rails ruby capistrano

回复此博文:http://www.simonecarletti.com/blog/2009/02/capistrano-uploads-folder/

我有三个问题:

  1. 任何人都可以确认那里的食谱是否有效吗?
  2. 我在哪里以及如何制作该食谱?
  3. 我需要在每个版本中保留两个文件夹:/ products和/ public / images / site_images我应该运行哪些配方才能实现此目的?
  4. 我对Capistrano几乎没有经验,而我迄今为止所能做到的只是上限和部署:冷,所以我可以复制粘贴的脚本将非常感激。

    谢谢

2 个答案:

答案 0 :(得分:3)

  1. 是的,我目前正在自己​​的项目中使用它。

  2. 您只需将代码附加到deploy.rb文件的末尾

  3. 如果产品位于公用文件夹之外,则无法从公共文件夹链接。此外,预计公共/图像将被检入您的SCM存储库

  4. 该配方假设您希望公共端提供一个完整的新文件夹来托管用户上传的文档。 应从SCM配置中排除该文件夹,以防止意外提交。您应该避免将public / images文件夹用于外部上传文件,否则您将会遇到许多麻烦,试图将由SCM管理的开发配置与公共状态同步。

答案 1 :(得分:0)

这就是我最后通过手动方法做到的方式

我希望这能帮助所有早期的编码员:

1. cd to releases to find out folder to synchronize
cd /home/yourapp/rails_apps/main/releases/

2. find the folder to sync, one level above last folder shown with ls
REMEMBER!
With ls, the folder list goes as follows:
folder1    folder5
folder2    folder6
folder3    folder7
folder4    folder8

So in this case, copy from folder7

3. copy the folders
To copy images
rsync -av --stats --progress /home/yourapp/rails_apps/main/releases/20100517183232/public/images/ /home/yourapp/rails_apps/main/current/public/images/

To copy products
rsync -av --stats --progress /home/yourapp/rails_apps/main/releases/20100517183232/products/ /home/yourapp/rails_apps/main/current/products/

想知道他们是否可以某种方式自动化?