【问题标题】:capistrano deploy_via copy not excluding filescapistrano deploy_via 复制不排除文件
【发布时间】:2012-11-20 12:55:07
【问题描述】:

我使用虚拟 SCM 和复制策略来部署我的 Rails 3 应用程序。为了让它更快,我想从副本中排除一些文件(例如日志)。我在config/deploy.rb 中设置了以下选项:

set :scm, :none 
set :deploy_via, :copy
set :copy_exclude, "**/*.log"

但是,它似乎在部署期间复制日志。我做错了什么?

【问题讨论】:

  • 也许你没有指定正确的路径
  • @Lichtamberg: "**/*.log" 好像还可以,我也试过"log/"
  • 试试绝对文件路径?
  • 您是否尝试过跟踪负责复制文件的命令的 capistrano 输出?默认情况下应该是可见的。
  • 另外——我不知道 capistrano 在这里使用哪种模式语言,但文档使用示例 .git/*。你试过log/*吗?

标签: ruby-on-rails deployment capistrano


【解决方案1】:

https://github.com/capistrano/capistrano/blob/v2.15.4/lib/capistrano/recipes/deploy/scm/none.rb从源码可以看出,copy_exclude设置在使用:scm none时是不被尊重的

【讨论】:

    【解决方案2】:

    参考:http://weblog.jamisbuck.org/2008/5/2/capistrano-2-3-0.html

    对于 Capistrano 2,您应该使用 copy_exclude:

    set :repository, "."
    set :scm, :none
    set :deploy_via, :copy
    set :copy_exclude, ['tmp', 'log']
    

    对于 Capistrano 3,(使用 gem:capistrano-scm-copy),请参见: (https://github.com/wercker/capistrano-scm-copy/issues/6)

    set :exclude_dir, "deploy"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多