NPM 和 CI:--缓存与 node_modules/
NPM and CI: --cache vs node_modules/
使用 GitLab 我可以缓存 node_modules/
and/or 我可以将参数缓存到 npm ci --cache <dir>
这两个选项有什么区别?
- 我应该在管道中的作业和阶段之间缓存
node_modules/
吗?
- 我是否应该只缓存提供给
npm ci --cache
的 <dir>
- 我应该缓存两者吗?
GitLab docs显示:
npm ci --cache .npm --prefer-offline
但他们没有解释为什么我不想缓存 node_modules/
。
尺寸差异:
❯ du -hs .npm
136M .npm
❯ du -hs node_modules
932M node_modules
我的情况差异很大,通过 NOT 缓存 node_modules/
我将 CI 管道时间减少了 30-50%。
包含每个阶段会更快
npm ci --cache .npm --prefer-offline
然后就是用GitLab缓存层node_modules/
搬来搬去
我想如果不使用 containerized runners.
,数据可能会有所不同
使用 GitLab 我可以缓存 node_modules/
and/or 我可以将参数缓存到 npm ci --cache <dir>
这两个选项有什么区别?
- 我应该在管道中的作业和阶段之间缓存
node_modules/
吗? - 我是否应该只缓存提供给
npm ci --cache
的 - 我应该缓存两者吗?
<dir>
GitLab docs显示:
npm ci --cache .npm --prefer-offline
但他们没有解释为什么我不想缓存 node_modules/
。
尺寸差异:
❯ du -hs .npm
136M .npm
❯ du -hs node_modules
932M node_modules
我的情况差异很大,通过 NOT 缓存 node_modules/
我将 CI 管道时间减少了 30-50%。
包含每个阶段会更快
npm ci --cache .npm --prefer-offline
然后就是用GitLab缓存层node_modules/
搬来搬去
我想如果不使用 containerized runners.
,数据可能会有所不同