NPM前端代理集,但不能下载NPM包

我们使用Eirslett Maven Frontend插件来帮助我们以标准的方式构build我们的NPM项目。 这个前端负责安装和其他问题。 另外,它允许我们的开发人员通过mvn package来构build,就像他们使用我们其他的Java / Maven项目一样。

这在我的本地机器上build立了一个代理警告,但它不会build立在我们的Jenkins服务器上。

我configuration了$HOME/.npmrc并设置了http_proxyhttps_proxy环境variables。 然而,我仍然得到一个没有代理是设置错误。

 $ set | grep "http.?_proxy" http_proxy=http://proxy.xxxx.local:3128 https_proxy=https://proxy.xxxx.local:3128 $ cat $HOME/.npmrc registry = http://registry.npmjs.org/ proxy = http://proxy.xxxx.local:3128/ https-proxy = https://proxy.xxxx.local:3128/ strict = false ca = null $ mvn clean package [...] [INFO] --- frontend-maven-plugin:0.0.24:install-node-and-npm (install node and npm) @ ihcm-config-tool --- [INFO] Installing node version v0.12.2 [INFO] Creating temporary directory /opt/tomcat/jenkins_home/jobs/ihcm-config-tool-trunk/workspace/node_tmp [INFO] Downloading Node.js from \\ http://nodejs.org/dist/v0.12.2/node-v0.12.2-linux-x64.tar.gz \\ to /opt/tomcat/jenkins_home/jobs/ihcm-config-tool-trunk/workspace/node_tmp/node.tar.gz [INFO] No proxy was configured, downloading directly [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.968 s [INFO] Finished at: 2016-07-18T11:53:39-05:00 [INFO] Final Memory: 15M/303M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal \ com.github.eirslett:frontend-maven-plugin:0.0.24:install-node-and-npm \ (install node and npm) on project ihcm-config-tool: Could not \ download Node.js: Could not download \ http://nodejs.org/dist/v0.12.2/node-v0.12.2-linux-x64.tar.gz: \ Connect to nodejs.org:80 [nodejs.org/104.20.23.46, \ nodejs.org/104.20.22.46] failed: Connection refused -> [Help 1] 

我可以下载http://nodejs.org/dist/v0.12.2/node-v0.12.2-linux-x64.tar.gz到我的机器上。 我认为这个错误可能是代理人,但我可能是错的。 任何我应该找的?

发现问题。

Eirslett Maven Frontend插件不使用$http_proxy$HOME/.npmrc文件中的代理设置。 相反,我必须把我的$HOME/.m2/settings.xml文件中的代理设置。

我用添加的代理设置创build了我的settings.xml文件的特殊版本(只是为了确保没有任何东西会影响其他项目)。 我创build了$HOME/.m2/settings.proxy.xml ,然后通过mvn -s $HOME/.m2/settings.proxy.xml调用Maven。

我们使用Artifactory,它有自己的代理设置。 我们configuration了NPM来使用我们的Artifactory服务器进行下载。 但是,Eirslett Maven Frontend插件也可以安装NodeJS,并且Artifactory不能被设置为NodeJS的HOME

我们希望Eirslett Maven Frontend Plugin能够安装NodeJS,如果它尚未安装的话。 这样,一个新的开发人员就可以通过运行mvn package来构build这个项目,就像我们所有的其他项目一样。 幸运的是,开发人员的机器不需要代理。 但是,我们的Jenkins服务器位于企业内部防火墙之后,需要进行代理设置。