【问题标题】:Why is Heroku build cache getting bigger with every release?为什么 Heroku 构建缓存随着每个版本的发布而变得越来越大?
【发布时间】:2020-03-07 22:48:26
【问题描述】:

在我的 Heroku 应用上,我每天部署多次。随着每个版本的发布,即使对代码进行了微小的更改,Heroku “slug”也会变得越来越大。这是我在构建日志中看到的那种消息:

Warning: Your slug size (446 MB) exceeds our soft limit (300 MB) which may affect boot time.

之前的版本是 444 MB,之前的版本是 441,等等。

随着每个版本的发布,它都会变大,直到达到 Heroku 的 500 MB 硬限制,然后我需要 clear the build cache manually

为什么构建缓存会因较小的代码更改而变大?如何防止它达到 500 MB 的硬限制,这会破坏我的自动化部署?

【问题讨论】:

    标签: heroku heroku-cli


    【解决方案1】:

    您是否尝试过下载两个版本的 slug 并比较内容?你可以使用 slugs CLI 插件下载它们,看看有哪些额外的文件阻塞了它们:https://github.com/heroku/heroku-slugs

    【讨论】:

    • 没想到。会的!
    • 这有帮助!我现在可以看到在两个构建之间,node_modules directory 变大了 25Mb,即使我们没有更改 package-lock.json 中的任何内容。更准确地说,是node_modules/.cache 越来越大。
    • 这个问题是由于我们使用 cache: true 和 Webpack Terser 插件造成的。 Heroku 然后缓存了 Terser 的缓存。随着每个版本的发布,事情变得更大。使用cache: false,一切恢复正常。鉴于问题可能是另一个项目的其他问题,下载 slug 以解决问题的想法似乎仍然是 要做的事情,所以我将把它作为公认的答案。谢谢@jvergeldedios!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多