保持静态的文件服务器时部署有Capistrano
-
06-07-2019 - |
题
我将文件上传到我的 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/数据库。阳明海运中必须存在服务器上。
不隶属于 StackOverflow