我将文件上传到我的 public/files 文件夹中的一个轨道应用的基础上不断通过一个网络界面。

我不想把这些来源的控制,因为他们可能几乎2GBs,所以每次我做一个 cap deploy 它将保存这些文件在 releases/ 和替换目录的原始副本存放在储存库中。

我想知道什么是最好的方式保留这些文件服务器中的 current 目录。我的一些想法是:

  • 删除该目录从源的控制,取而代之的是一个链接到外部目录的不受翰.
  • 创建一个Capistrano任务的复制目录/tmp在部署前和随后复制回/公共后完成部署。

是有标准的方式做到这一点?

有帮助吗?

解决方案

你可以让文件的一个符号连接到另一个目录在您的机器,用于实施/共享目录在相同的级别/前和/稿。

检查capistrano管理/记录和/tmp目录。

其他提示

对未来的记录,这是我用来做一个共用目录:

task :link_shared_directories do     
  run "ln -s #{shared_path}/files #{release_path}/public/files"   
end    

after "deploy:update_code", :link_shared_directories   

现在我们可以简单的使用:linked_files在部署。rb:

set :linked_files, %w{config/database.yml}

在这种情况下,该文件[target_dir]/shared/config/数据库。阳明海运中必须存在服务器上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top