我想为一家大公司设置Artifactory,我有一个问题:
每个应用程序组是否都有自己的快照和发布回购集,因此不会发生模块冲突?
答案 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进行企业融资:
enterprise-finance-local-SNAPSHOT
enterprise-finance-local-RELEASE
如果您在Maven Central中有外部依赖项,则可以创建两个远程maven存储库:remote-SNAPSHOT
和remote-RELEASE
最后,在Artifactory中创建一个虚拟maven仓库,以便对所需的所有maven仓库进行分组,例如,所有这个示例。您可以拥有repo virtual-maven-SNAPSHOT
和virtual-maven-RELEASE
,其中包含所有SNAPSHOT或所有RELEASE依赖项。
如果您不想拥有SNAPSHOT的虚拟仓库和发布版本的虚拟仓库,您可以拥有一个独特的虚拟仓库:virtual-maven
答案 1 :(得分:0)
如果公司真的那么大,(除了你提到的那个)它可能有内部发布程序。同样,为了能够在内部发布产品,必须提供一些质量保证协议 在这种情况下,如果没有完整的qa协议,不同的组不应该访问其他组存储库 在这种情况下,每个软件组的私有存储库都是可行的。如果一个组的产品可以在内部使用,它应该有另一个内部版本的回购,其他人可以访问。