在 CI 上构建 webpack 的正确缓存键是什么(缓存失效)?

Aro*_*ost 5 git continuous-integration caching node.js webpack

CI 上的缓存很重要。它加快了构建速度并降低了成本。

它因加速而非常受欢迎npm install。人们正在node_modules跨构建缓存目录或 npm/yarn 缓存。(互联网会告诉你这是如何运作的)

找到要使用的正确缓存密钥node_modules相当容易:它是锁定文件的哈希值。如果锁定文件中的某些内容发生更改,它会生成新的哈希值,并且缓存将“失效”。

我正在尝试保留 webpack 构建缓存。这可以通过webpack 5 中的持久缓存来实现。设置缓存很容易,找到“正确”的策略来生成我认为很难的缓存密钥。

锁定文件哈希肯定是行不通的。无需触及锁定文件,内容就会发生变化。

我正在考虑每次使用提交哈希作为键将某些内容合并到 master/main 时创建一个新的缓存条目。然后,当创建功能分支时,它可以使用此提交哈希作为缓存键。

在 CI 上缓存 webpack 构建的最佳方法是什么?