我们都知道用npm下载依赖项可能非常耗时,特别是当我们仅限于旧的npm版本时. 对我来说,作为一名开发人员,这并不是什么大问题,因为我必须在我的本地开发机器上执行此操作,并且所有内
对我来说,作为一名开发人员,这并不是什么大问题,因为我必须在我的本地开发机器上执行此操作,并且所有内容都与我项目文件夹中的node_modules缓存有关.但是现在我想把这个应用程序带到Jenns的CI环境中.
我意识到用npm下载依赖项花了很多时间.这是一个问题,因为:
> npm下载项目文件夹中的依赖项,而不是Maven的/home/user/.m2等全局文件夹
>我必须在每次运行时清理Jenkins工作区文件夹,以避免git checkout出现问题.
我想要一个非常优雅的解决方案来缓存我的Jenkins从属的npm依赖项,但到目前为止我只能想到:
>从Jenkins工作区中删除除node_modules文件夹之外的所有文件夹.我不喜欢这个,因为如果我继续为我的项目创建分支,我可能会消耗大量的硬盘.每个分支创建一个工作区.
>在每次安装npm之后执行类似cp ./node_modules / home / npm_cache的操作,然后在代码检出后执行cp / home / npm_cache ./node_modules.
我觉得这些解决方案很糟糕.必须有更好的方法来做到这一点.
我不知道node.js足以知道如何处理这方面.但是可以在 Linux机器上处理的一个简单方法就是在从git签出后立即将缓存目录符号链接到外部位置.每个代理机器都将维护自己的缓存,但无论解决方案如何,您都可能必须这样做.我假设你已经调查过nodeJS插件,它无法做你想做的事情.