【发布时间】:2016-12-08 17:58:15
【问题描述】:
令我沮丧的是,为使用 Node 工具链(如 Grunt 和 Gulp)的项目构建 CI 需要相当长的时间,其中大部分时间都被 npm install 消耗。
我尝试设置一个 Docker 映像,在 npm 缓存中预烘焙了所有 node_module 依赖项(每个都与我的 package.json 文件中声明的相同的固定版本),但即便如此构建仍然真正需要做的就是将几个目录从 npm 缓存复制到我项目的 node_modules 中。
我已将 cache-min 设置为 9999999,但它似乎仍然需要比预期更长的时间。
我查看了 local-npm 和 npm_lazy 但它们似乎超出了顶部,并且前者需要很长时间才能安装 - 我怀疑它正在尝试下载现有的每个 npm 模块 - 我只需要有限的数量和无需运行 Web 服务器即可从 Docker 容器中为它们提供服务。
...我错过了什么吗?必须有更快的方法来运行 CI 构建...
【问题讨论】:
-
您是否检查过下载包含 npm 模块的基于图像需要多少时间?
-
@atv 不,这不是问题所在。镜像下载其实挺快的,但即使是固定版本,npm 还是想下载和构建所有东西,而不是仅仅从缓存中复制目录
-
@NicholasAlbion 你能分享你的 Dockerfile 吗?我现在正在尝试做类似的事情
标签: node.js docker npm continuous-integration npm-install