每个应用程序组都应该有自己的工件发布/快照存储库吗?

时间:2018-02-13 18:11:05

标签: maven artifactory

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

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

2 个答案:

答案 0 :(得分:1)

在大型公司中设置maven存储库的最佳做法是为功能域,应用程序组或类似组件提供SNAPSHOT和RELEASE maven repo。

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

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

例如:

  • 您有一个银行网站,可以通过这些maven repos获得个人财务:

    • SNAPSHOT maven repo:personal-finance-local-SNAPSHOT

    • RELEASE maven repo:personal-finance-local-RELEASE

  • 您有一个银行网站,可以通过这些maven repos进行企业融资:

    • SNAPSHOT maven repo:enterprise-finance-local-SNAPSHOT
    • 发布甚至回购:enterprise-finance-local-RELEASE
  • 如果您在Maven Central中有外部依赖项,则可以创建两个远程maven存储库:remote-SNAPSHOTremote-RELEASE

最后,在Artifactory中创建一个虚拟maven仓库,以便对所需的所有maven仓库进行分组,例如,所有这个示例。您可以拥有repo virtual-maven-SNAPSHOTvirtual-maven-RELEASE,其中包含所有SNAPSHOT或所有RELEASE依赖项。

如果您不想拥有SNAPSHOT的虚拟仓库和发布版本的虚拟仓库,您可以拥有一个独特的虚拟仓库:virtual-maven

答案 1 :(得分:0)

如果公司真的那么大,(除了你提到的那个)它可能有内部发布程序。同样,为了能够在内部发布产品,必须提供一些质量保证协议 在这种情况下,如果没有完整的qa协议,不同的组不应该访问其他组存储库 在这种情况下,每个软件组的私有存储库都是可行的。如果一个组的产品可以在内部使用,它应该有另一个内部版本的回购,其他人可以访问。