分割工件存储库时的准则

car*_*ing 5 archiva nexus artifactory maven

我正在寻找一篇文章,该文章描述了在工件库管理器中创建存储库时要遵循的一系列准则.

我知道:

  • 您需要在快照存储库中保留快照.

  • 您需要在发布存储库中保留版本.

  • 第三方工件应位于单独的存储库中(对于第三方库的分叉/修补版本也是如此).

  • int-*和前缀名称通常是个好主意ext-*.

  • 通常,不同的产品线最终会拥有自己的存储库,因为有时它们的工件不会相互依赖.

我一直试图找到一篇关于这个的文章来向客户说明这个工件分离抽象是如何由其他公司和组织使用存储库完成的.

提前谢谢了!

JBa*_*uch 6

我不知道存在这样的文章,但正如@tieTYT所提到的,你可以查看Artifactory默认存储库.它们反映了二元管理,持续集成和交付方面的多年经验.即使您使用Nexus,这些做法仍然适用(即使没有安装Artifactory,您也可以通过查看JFrog公共Artifactory实例http://repo.jfrog.org来观察它们)

为方便起见,这里是默认值(强调重要用法):

本地存储库:

  • libs-snapshot-local:在此部署本地快照
  • libs-release-local:在此部署您的本地版本
  • ext-snapshot-local:在此处部署第三方快照,这些快照在远程存储库中不可用
  • ext-release-local:在此部署第三方版本,这些版本在远程存储库中不可用
  • plugins-snapshot-local:在这里部署您的插件(通常是maven)快照
  • plugins-release-local:在这里部署你的插件(通常是maven)

远程存储库:

  • jcenter:http ://jcenter.bintray.com的代理.通常,这是您需要的唯一远程回购.它包括maven中心和所有其他主要maven存储库中存在的任何内容

虚拟存储库:

  • remote-repos:所有远程存储库的聚合
  • libs-release:这是发布版本的解析存储库.它包括remote-repos,libs-release-localext-release-local
  • libs-snapshot:这是快照构建的解析存储库.它包括remote-repos,libs-snapshot-localext-shapshot-local
  • repo:这是特殊的虚拟存储库,可以聚合所有内容.通常,如果您计划使用二进制存储库构建发布管道,请不要使用它.

我很乐意就具体问题提出建议.