【发布时间】:2015-04-12 01:17:48
【问题描述】:
我的项目中有多个模块,其中只有一个是节点项目。然后我使用gradle-node-plugin 与其余模块集成。由于我将 jenkins 用于 CI,并且我希望 jenkins 每次默认行为是 npm install (此处通过 gradle-node-plugin npmInstall 包装器,但对于普通 npm 情况相同)时,都可以完全擦除项目目录并检查最新版本每次触发 CI 重建时的所有依赖项。
我想知道是否可以在全局某处安装 package.json 依赖项(例如,如果 gradle-node-plugin 在 .gradle/nodejs/<node-dist>/lib/node_modules/ 中,或者将 node_modules 保留在构建树之外(例如在 jenkins 工作区文件夹中)。
编辑:
由于项目中设置的所有节点依赖项实际上需要大约 300MB,代理缓存似乎不够,因为几个因素 - 大小、解决所有这些所需的时间以及一些依赖项甚至需要在下载后重新编译(例如socket-io)。目前我们正在使用build.gradle 中定义的解决方法,将node_modules 移动到不会被清理的父文件夹,而不是使用符号链接。该变通方法仅在 Jenkins 环境中激活。
【问题讨论】:
标签: node.js jenkins gradle npm