我通过网络界面不断将文件上传到Rails应用程序的public/files
文件夹。
我不想将它们保留在源代码管理中,因为它们的格式大约为2 GB,因此每次执行cap deploy
时,它都会将这些文件保存在releases/
中,并将目录替换为保存在存储库中的原始副本。
我想知道在current
目录中将这些文件保存在服务器中的最佳方法是什么。我的一些想法是:
有标准的方法吗?
答案 0 :(得分:7)
对于将来的记录,这是我用共享目录执行的任务:
task :link_shared_directories do
run "ln -s #{shared_path}/files #{release_path}/public/files"
end
after "deploy:update_code", :link_shared_directories
答案 1 :(得分:6)
您可以将文件作为计算机上另一个目录的符号链接,例如与/ current和/ releases处于同一级别的/ shared目录。
签出capistrano管理/ log和/ tmp目录。
答案 2 :(得分:2)
现在我们可以在deploy.rb中使用:linked_files:
set :linked_files, %w{config/database.yml}
在这种情况下,服务器上必须存在文件[target_dir] /shared/config/database.yml。