【问题标题】:Reduce Heroku Compiled Slug Size减少 Heroku 编译的 Slug 大小
【发布时间】:2011-02-24 02:10:05
【问题描述】:

我刚刚将我的应用程序上的 rails 更新到 v2.3.6,并使用了 Bamboo-ree-1.8.7 堆栈,编译后的 slug 大小已增长到 40.5Mb!在最后一次 git push 之前,slug 大小约为 20Mb,并且使用的是 rails v2.3.5。

是不是因为我的 slug 安装了两个 rails 版本?可能我遗漏了一些东西,但我没有在我的应用程序中添加任何特殊代码/文件以将 slug 大小增加 ~20Mb。

你能告诉我如何减少蛞蝓的大小吗?

任何帮助将不胜感激。

非常感谢您。

【问题讨论】:

    标签: ruby heroku slug


    【解决方案1】:

    有一个有用的方法是将.slugignore 文件添加到项目的根目录中,以告诉 Heroku 不要将某些文件或目录编译到 slug 中。我的看起来像这样:

    *.psd
    *.pdf
    test
    spec
    features
    doc
    public
    

    public 条目在那里,因为我提供来自 Amazon S3 服务的所有静态文件;如果您不使用外部内容交付系统,请不要使用该行。

    【讨论】:

    • 是的,我知道我的包括 public/images 目录 + 样式表 + javascripts,因为我将它们保存在 S3 上。我已经升级到 Rails 2.3.8(正在使用 2.3.6),并且 slug 的大小已经大大减少到以前的大小(~20Mb)。我认为这是一些宝石依赖问题。无论如何感谢您的回复。
    • 将脚本目录添加到 .slugignore 是否安全?
    • 这是一个很好的问题 Philipe,您知道这样做是否安全吗?
    • 我试过了,应用程序运行良好,但您无法使用 slugignore 中的脚本在 Cedar 上启动控制台。
    【解决方案2】:

    如果您在 cedar 堆栈上使用 less/bootstrap,则可以通过预编译和脚本化预编译和推送来减少 slug 大小,以便不包含 less gem 和依赖项,请参阅here

    【讨论】:

    • 你写了一篇非常好的和相关的博客文章,但我认为你用 URL 缩短器降低了它的成本。
    【解决方案3】:

    您还可以排除任何未在生产环境中使用的 gem,以稍微精简一下。确保您的 Gemfile 根据环境拆分 gem,然后排除那些不需要的环境。

    heroku config:add BUNDLE_WITHOUT="development:test:staging"
    

    取自 Heroku 博客 here

    【讨论】:

    • 目前这仅适用于不在 Caledon Cedar 堆栈上运行的应用程序。
    猜你喜欢
    • 1970-01-01
    • 2021-01-20
    • 2015-07-23
    • 2012-01-23
    • 2021-09-28
    • 2021-08-31
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    相关资源
    最近更新 更多