【问题标题】:Noob Capistrano question on preserving upload directoriesNoob Capistrano 关于保留上传目录的问题
【发布时间】:2011-02-19 01:01:59
【问题描述】:

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

我有三个问题:

  1. 谁能确认那里的配方是否有效?
  2. 该食谱应该放在哪里以及如何放置?
  3. 我有两个文件夹需要保留在每个修订版中:/products 和 /public/images/site_images 我应该运行什么配方才能实现此目的?

我在 Capistrano 方面的经验几乎为零,到目前为止我所能做的只是 cap deploy 和 cap deploy:cold,所以我可以复制粘贴的脚本将不胜感激。

谢谢

【问题讨论】:

  • 我想知道如何将脚本扩展到多个文件夹。有什么想法吗?
  • no.. 抱歉,我停止使用 capistrano 并在 heroku 上托管我所有的应用程序

标签: ruby-on-rails ruby capistrano


【解决方案1】:

这就是我最终通过手动方法完成的方式

我希望这将帮助所有早期的程序员:

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/

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

【讨论】:

    【解决方案2】:
    1. 是的,我目前正在我自己的项目中使用它。

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

    3. 如果产品不在公用文件夹中,则无法从公用端链接它。此外,public/images 已经预计会检入您的 SCM 存储库

    该配方假设您希望从公共端获得一个完整的新文件夹来托管用户上传的文档。 该文件夹应从您的 SCM 配置中排除,以防止意外提交。您应该避免将 public/images 文件夹用于外部上传的文件,否则在尝试将由 SCM 管理的开发配置与公共状态同步时会很头疼。

    【讨论】:

    • 您好,感谢您对此的回复(哇!来自该帖子的作者本人)。对于#3:我知道它不能从公共方面链接,实际上需要这样。我的问题是我需要在配方上更改什么以允许两个文件夹?我是否将其更改为: task :symlink, :except => { :no_release => true } do run "rm -rf #{release_path}/public/images" run "ln -nfs #{shared_pa​​th}/images #{ release_path}/public/images" run "rm -rf #{release_path}/products" run "ln -nfs #{shared_pa​​th}/products #{release_path}/products" end 谢谢!
    • 您好,这不起作用,它删除了文件夹,但除此之外什么也没做。有什么我做错了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多