令我感到沮丧的是,为使用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构建...
答案 0 :(得分:0)
我能够通过使用.npmrc指向docker容器中的npm缓存来使其工作。我建议您将docker exec放入容器中并运行npm config list | grep cache
以确保使用缓存。