【发布时间】:2015-05-24 09:44:44
【问题描述】:
我有一个文件夹 public/recipes,其中包含食谱。
但是通过remote_cache 部署后,此文件夹和配方将被删除/删除。
我不希望 capistrano 删除/删除这个文件夹和这些食谱。
我怎样才能得到它?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 capistrano
我有一个文件夹 public/recipes,其中包含食谱。
但是通过remote_cache 部署后,此文件夹和配方将被删除/删除。
我不希望 capistrano 删除/删除这个文件夹和这些食谱。
我怎样才能得到它?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 capistrano
如果您使用 Capistrano 3,那么只需在 linked_dirs 变量中指定 public/recipes 目录:
set :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets vendor/bundle public/uploads public/recipes}
它将在您的目录和shared/public/recipes之间设置链接。
对于 Capistrano 2,您应该在 deploy.rb 中“手动”设置链接,使用 ln 命令,即使用如下内容:
task :configure_symlinks, :roles => :web do
run "ln -nfs #{shared_path}/public/recipes #{current_release}/public/recipes"
end
after "deploy:update_code", "configure_symlinks"
【讨论】:
如果您不想要符号链接,您可能需要https://github.com/capistrano/copy-files 之类的东西。
但是,我强烈建议您按照 ethyl.bradtke 的建议使用链接目录。这是最好的处理方式。
【讨论】: