2012-06-14 29 views
0

我正在使用EngineYard来托管我的Rails 3.2应用程序。此应用程序允许用户发布图像/资产。我将它们保存在公共目录中(使用Paperclip Gem)。现在,我的问题是 - 通过新部署,我不得不手动将资产复制到CURRENT版本。EngineYard:分离代码和资产

虽然我可以使用AmazonS3,但我仍然想知道EngineYard中是否有一种方法可以让我从代码/ data/assets之外的其他目录中保存/提供资源。

请让我知道,如果你看到任何其他替代实现。

回答

1

通常你的结构看起来像

/data 
    myapp/ 
    shared/ 
     images 
    releases/ 
     20120613000000 
     20120601000000 
     ... 
    current (symlink to one of the releases) 

部署时,你符号链接公共/图片,共享/图像等你的照片总是得到存储在非释放位置相关。

我会鼓励你使用类似s3的东西:当你想在多个实例上托管应用程序时,你会更容易。

+0

我应该手动SSH进入服务器并在每次部署后创建符号链接?或者,有没有我需要编辑的脚本? –

+0

不,请在您的deploy.rb中执行此操作(我假设您使用的是capistrano) –