Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 避免每次在CI环境中安装所有节点\模块依赖项_Node.js_Jenkins_Gradle_Npm - Fatal编程技术网

Node.js 避免每次在CI环境中安装所有节点\模块依赖项

Node.js 避免每次在CI环境中安装所有节点\模块依赖项,node.js,jenkins,gradle,npm,Node.js,Jenkins,Gradle,Npm,我的项目中有多个模块,其中只有一个是节点项目。我使用then与其余模块集成。由于我将jenkins用于CI,我希望jenkins每次都能完全擦除项目目录并签出最新版本,默认行为是npm安装(这里通过gradle节点插件npmInstall包装器,但普通npm的情况相同)每次触发CI重建时下载所有依赖项 我想知道是否可以在全局的某个地方安装包.json依赖项(例如在.gradle/nodejs//lib/node\u modules/中的gradle-node-plugin或者将node\u-mo

我的项目中有多个模块,其中只有一个是节点项目。我使用then与其余模块集成。由于我将jenkins用于CI,我希望jenkins每次都能完全擦除项目目录并签出最新版本,默认行为是
npm安装
(这里通过
gradle节点插件
npmInstall
包装器,但普通npm的情况相同)每次触发CI重建时下载所有依赖项

我想知道是否可以在全局的某个地方安装
包.json
依赖项(例如在
.gradle/nodejs//lib/node\u modules/
中的
gradle-node-plugin
或者将
node\u-modules
保留在构建树之外(例如在jenkins工作区文件夹中)

编辑:


由于项目中的所有节点依赖项集实际上需要大约300MB的内存,因此代理缓存似乎不够,因为只有几个因素—大小、解决所有这些问题所需的时间,以及一些依赖项在下载后甚至需要重新编译(例如socket io)目前,我们正在使用
build.gradle
中定义的变通方法,该方法将
node\u modules
移动到不会被清理的父文件夹,然后使用符号链接。该变通方法仅在Jenkins环境中激活。

您是否希望创建一个npm模块,如果是,则有一个npm模块来执行此操作

npm mirror是一个实用程序,用于从中镜像npm包的子集 另一个npm注册表。它同步 并将它们写入本地文件系统,以便 一个简单的Web服务器可以像一个符合commonjs的包一样工作 登记处

我已经在研究,但仍然需要重新解决所有npm(实际上也是bower)依赖关系,这需要一些时间,而且与maven/gradle构建系统相比,这似乎是不必要的任务,因为maven/gradle构建系统可以将依赖关系保留在构建树之外。无论如何,某种镜像可能是一种解决方法。