从heroku slugs中排除宝石中的文件(使用.slugignore,heroku)

时间:2011-11-07 05:55:03

标签: ruby-on-rails ruby-on-rails-3 heroku assets slug

我正在使用的rails 3.0.x项目使用一个gem,其中包含heroku部署所不需要的大量测试数据。我想将它排除在heroku slug之外,因为它会向slug中添加几十个meg(并且已经超过100mb大小限制,我们的slug因其他原因而变大。)

我尝试使用.slugignore机制这样做,但我找不到让它排除宝石中的文件而不是应用程序中的文件的方法。这是在Bamboo堆栈上运行的rails 3.0.x应用程序,但如果在这些版本中有解决方法/过程,我会升级到rails 3.1和/或雪松堆栈。

关于解决这个问题的其他建议并非“让巨大的宝石更小”也非常受欢迎。

2 个答案:

答案 0 :(得分:0)

在雪松堆栈上,宝石被安装到你的vendor文件夹中(实际路径类似于vendor/bundle/ruby/1.9.1/gems/),所以我相信你可以使用你需要的子路径,尽管我还没有尝试过

答案 1 :(得分:0)

在一般用例中,这不起作用,因为.slugignore匹配的文件在安装gem文件之前被删除。请参阅heroku部署输出的以下内容:

-----> Deleting 2 files matching .slugignore patterns.
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.3.0.pre.5
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
       Using rake (10.0.3)
       Using Platform (0.4.0)
       Using open4 (1.3.0)
       ...