什么是在神器中保存npm工件的最佳实践?

时间:2018-03-02 18:19:27

标签: maven npm artifactory packaging

很抱歉,如果这听起来很傻,但我们对NPM的经验很少,我们的背景就是maven。

我们在Artifactory中设置了NPM存储库,我们使用它们生成战争格式的包。现在我们无法确定这些war包的最佳实践,我们是否将它们存储在Artifactory中的泛型类型存储库中? NPM是否有相当于mvn部署(mvn deploy以便携式格式在Artifactory中部署包)?

2 个答案:

答案 0 :(得分:0)

如果您尝试将您的软件包部署到Artifactory(这是我对mvn deploy会做什么的理解),那么命令是npm publish。要让您的包发布到您的私有Artifactory存储库而不是公共NPM注册表,您需要在项目根目录中的package.json和.npmrc文件中定义注册表URL。

Artifactory中的这个过程有一个方便的演练:

  1. 导航到Artifactory
  2. 中的NPM存储库
  3. 点击“设置我”
  4. 按照“常规”下的说明进行设置 - 这包含设置.npmrc所需的代码段。
  5. 按照“部署”下的说明进行部署 - 这包含您在package.json中设置publishConfig所需的代码段。
  6. Artifactory的完整NPM文档在这里:https://www.jfrog.com/confluence/display/RTF/Npm+Registry

    最后,由于您不太熟悉NPM,这是NPM的package.json files部分指南,您可以在其中定义将在已发布包中的文件: https://docs.npmjs.com/files/package.json#files

答案 1 :(得分:0)

感谢Derek的回答,在看完你的回复后,我觉得我没有正确解释。

是的npm发布将与我们的私人Artifatory中的mvn部署和发布做同样的事情,但是mvn deploy也发布了目标文件夹中产生的工件,在NPM情况下,在dist /下生成的工件(在我们的案例中是war文件) )没有被推到Artifactory,推出的是你可以从中构建战争的源文件。我们希望能够将战争推向Artifactory,我们发现的解决方案之一是使用https://www.npmjs.com/package/maven-deploy并将战争部署到Artifactory中的maven存储库,但这是一个好习惯吗?我们很想知道其他人在做什么。