Maven 每个应用程序组都应该有自己的人工发布/快照repo吗?

Maven 每个应用程序组都应该有自己的人工发布/快照repo吗?,maven,artifactory,Maven,Artifactory,我想为一家大公司设置Artifactory,我有一个问题: 是否每个应用程序组都应该有自己的快照和发布回购,这样就不会发生模块冲突?如果公司真的那么大,(除了你提到的东西),它可能有内部发布程序。例如,为了能够发布产品,甚至在内部发布,必须完整提交一些质量保证协议。 在这种情况下,如果没有此qa协议,不同的组将无法访问其他组存储库。 在这种情况下,每个软件组的私有存储库是一个不错的选择。如果一个组的产品可以在内部使用,它应该有另一个内部版本的repo,其他人可以访问。在大公司中设置maven存储

我想为一家大公司设置Artifactory,我有一个问题:


是否每个应用程序组都应该有自己的快照和发布回购,这样就不会发生模块冲突?

如果公司真的那么大,(除了你提到的东西),它可能有内部发布程序。例如,为了能够发布产品,甚至在内部发布,必须完整提交一些质量保证协议。
在这种情况下,如果没有此qa协议,不同的组将无法访问其他组存储库。

在这种情况下,每个软件组的私有存储库是一个不错的选择。如果一个组的产品可以在内部使用,它应该有另一个内部版本的repo,其他人可以访问。

在大公司中设置maven存储库的最佳实践是为一个功能域、应用程序组或类似应用程序创建快照和发布maven repo

对于Maven Central或其他外部存储库中的外部依赖项,您可能需要远程repo,在这种情况下,您需要创建远程repo来访问这些依赖项

此外,您还可以使用虚拟repo对所有这些本地和远程存储库进行分组

例如:

  • 您有一个个人理财的银行网站,提供以下maven回购:

    • 快照maven回购:
      个人理财本地快照

    • 发行maven回购:
      个人金融本地发行

  • 您有一个针对企业财务的银行网站,其中包含以下maven回购协议:

    • 快照maven回购:
      企业财务本地快照
    • 发行偶数回购:
      企业融资本地发行
  • 如果在Maven Central中有外部依赖项,则可以创建两个远程Maven repo:
    远程快照
    远程发布

最后,在Artifactory中创建一个虚拟maven repo,以将您想要的所有maven repo分组,例如,本例中的所有maven repo。您可以拥有repo
virtualmaven快照
virtualmaven版本
,其中可以拥有所有快照或所有版本依赖项


如果您不想为快照创建一个虚拟repo,为发布版本创建另一个虚拟repo,那么您可以创建一个独特的虚拟repo,如:
virtual maven

如果您正确处理groupId和artifactId,冲突就不会出现……就像。。。。APPLABC libs快照。。。。。。APPLXYZ libs快照--等等?是的,我想是这样。因为部署到这些repo的版本可能还没有准备好供其他软件组使用。因此,他们不应该在生产期间接触这些产品。在开发达到成熟级别后,此项目集可以部署到其他存储库,其他软件组可以在其中访问和使用。