我可以使用artifactory作为本地npm缓存吗?

问题描述:

如何使用artifactory来缓存我的节点模块,当jenkins运行npm install命令时,它试图首先从artifactory中检索模块,如果失败,它会从互联网中检索它?我可以使用artifactory作为本地npm缓存吗?

artifactory如何工作?据我所知,当你运行npm install X时,artifactory会查看它是否有X模块,如果没有,它会从npm注册表中检索它。我对么?

artifactory如何工作?据我所知,当你运行npm install X时,artifactory会查看它是否有X模块,如果没有,它会从npm注册表中检索到 。我对么?

你是对的。 Artifactory代理远程npm存储库,如https://registry.npmjs.org,将您从网络问题中隔离出来,提供可重复的构建,并通过从本地网络检索依赖关系来加快构建速度。

如何使用artifactory的缓存时 詹金斯运行NPM这种方式安装的命令,它会首先尝试检索artifactory的模块 ,如果失败,它从 上网检索它在我的节点模块?

请按照the User Manual中的说明操作。通常,您将通过运行npm config set registry http://hostname:8081/artifactory/api/npm/npm-repo来设置注册表以解决​​问题,其中npm-repo将是远程或(甚至更好)虚拟存储库。

另外请注意,由于Artifactory(如果配置正确),您不需要将故障转移配置为“互联网”,因此您将永远不会遇到某种情况在Artifactory中找到,但可以从Artifactory中配置的远程存储库中解析。

+0

我正在运行artifactory的开源4.2版本,它不让我将npm设置为包类型。你碰巧知道如何选择npm作为远程回购的包装类型? – Jasmine

+1

Npm是Artifactory Pro版本的一部分。 – JBaruch

+0

远程存储库和虚拟存储库有什么区别? – Jasmine