如何将nodejs和npm可执行file upload到artifactory

我们有一个公司代理,防止我使用maven-front-plugin。

问题是,为了获取npm和bower依赖关系,我们使用内部的Artifactory,所以我们不应该有任何代理设置。 但是实际的可执行文件被直接提取,因此需要代理来获取它们。 而前端插件似乎不支持特定域的例外情况。

那么是否有一种简单的方法将npm和nodejs可执行file upload到我们的内部工件中,以便我们可以完全跳过这个代理? 或者解决这个问题的另一种方法

编辑

我在这里添加解决scheme,因为我需要修改我在下面批准的答案。

在Artifactory中设置两个远程仓库,一个到nodejs( https://nodejs.org/dist/ ),一个到npm( https://registry.npmjs.org/npm/-/ )。

编辑你的maven-frontend-pluginconfiguration:

 <execution> <!-- optional: you don't really need execution ids, but it looks nice in your build log. --> <id>install node and npm</id> <goals> <goal>install-node-and-npm</goal> </goals> <!-- optional: default phase is "generate-resources" --> <phase>generate-resources</phase> <configuration> <nodeVersion>v0.12.1</nodeVersion> <npmVersion>2.14.1</npmVersion> <!-- use the URL for the repository you created in step 1 --> <nodeDownloadRoot>https://artifactory.my company.com/artifactory/nodejs.dist/</nodeDownloadRoot> <npmDownloadRoot>https://artifactory.my company.com/artifactory/npm.dist/</npmDownloadRoot> </configuration> </execution> 

有可能只使用nodejs回购(但是npm仅适用于版本1.4.9)将npmDownloadRoot更改为:

<npmDownloadRoot>https://artifactory.my company.com/artifactory/nodejs.dist/npm/</npmDownloadRoot>

不要忘记从你的maven settings.xml删除代理settings.xml

要从Artifactory安装节点和npm可执行文件,您应该:

  1. 在Artifactory中创build一个将用于节点和npm分发的新存储库。 如果您使用的是Artifactory 4.x,则应该创build一个远程通用存储库 (对于旧版本,只需创build一个远程存储库)。
    这个仓库应该代理节点和npm分发服务器 – https://nodejs.org/dist/
    另一个select是创build一个本地存储库,并手动部署节点和npm分配到它,同时保持相同的布局https://nodejs.org/dist/
  2. configuration前端Maven插件使用Artifactory而不是默认。 这应该通过设置downloadRoot属性来完成,例如:
 <execution> <!-- optional: you don't really need execution ids, but it looks nice in your build log. --> <id>install node and npm</id> <goals> <goal>install-node-and-npm</goal> </goals> <!-- optional: default phase is "generate-resources" --> <phase>generate-resources</phase> <configuration> <nodeVersion>v0.10.18</nodeVersion> <npmVersion>1.3.8</npmVersion> <!-- use the URL for the repository you created in step 1 --> <downloadRoot>http://localhost:8081/artifactory/repo-id/</downloadRoot> </configuration> </execution> 

有关更多信息,请参阅在插件文档中安装节点和npm

使用Artifactory代理npmregistry和托pipe自己的npms和可执行文件是一个很好的决定,你的pipe理员做得很好。

要从UI中将任何文件部署到Artifactory,您可以使用工件浏览器(Artifactory 4)中的Deploy选项卡(Artifactory 3)或Deploybutton。

另一个选项(可能是更可取的)将使用npm publish 。 用户指南提供了有关如何执行此操作的详细说明。 如果您使用的是Artifactory 4,您还可以在Artifact Browser屏幕上单击Set Me Upbutton: Artifactory设置我 - 如何部署npm包

第三个选项,适用于任何文件,将是一个简单的PUT HTTP请求 。