【问题标题】:preserve public folder after deployment with capistrano使用 capistrano 部署后保留公用文件夹
【发布时间】: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


    【解决方案1】:

    如果您使用 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"
    

    【讨论】:

      【解决方案2】:

      如果您不想要符号链接,您可能需要https://github.com/capistrano/copy-files 之类的东西。

      但是,我强烈建议您按照 ethyl.bradtke 的建议使用链接目录。这是最好的处理方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-02
        • 2015-12-01
        • 1970-01-01
        • 2018-06-30
        • 1970-01-01
        • 2012-10-09
        • 1970-01-01
        相关资源
        最近更新 更多