云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

为了简化对不同存储库的访问,Artifactory允许您定义一个虚拟存储库,它是通过单个逻辑URL访问的本地、远程和其他虚拟存储库的集合。

虚拟存储库隐藏了底层存储库的访问细节,允许用户使用单一的知名URL。底层参与存储库及其访问规则可以在不需要任何客户端更改的情况下进行更改。

基本设置

以下内容在常见的设置部分。

  • 包类型
  • 库的关键
  • 仓库布局
  • 公共描述
  • 内部描述

  • 包含和排除模式
页面内容


此外,在存储库部份基本设置界面选择可用的存储库包含在新的虚拟存储库中并将它们移到选择存储库列表。

对象中的拖放可以重新排序此列表选择存储库列表。

包括存储库节显示此虚拟存储库中包含的实际存储库的有效列表。如果所选的任何可用存储库本身是虚拟存储库,则包括存储库节将显示其中包含的本地和远程存储库。的包括存储库List将自动更新,以防任何嵌套的虚拟存储库发生更改。

当从虚拟存储库请求工件时,搜索/解析顺序总是:

  1. 局部存储库
  2. 远程存储库缓存
  3. 远程存储库本身。

类别中的顺序由它们在列表中显示的顺序控制选择存储库列表。

当从虚拟存储库中完成对工件的最新版本的请求时,Artifactory将进行搜索所有所包含的存储库,以确保它检索到最新版本。这意味着即使Artifactory在本地或缓存存储库中找到工件的版本,它仍然会搜索远程存储库,以确保返回最新的版本。如果发现远程存储库具有最新版本,Artifactory将下载它并更新远程存储库缓存。


嵌套

嵌套是Artifactory的一个独特特性,在使用虚拟存储库时更加灵活。

您应该注意不要创建嵌套存储库的“无限循环”。Artifactory分析虚拟存储库的内部组成,如果虚拟存储库由于无效嵌套而无法解析,将发出警告。

使用包含和排除模式

定义和的能力包括模式和一个不包括模式对于虚拟存储库(特别是在使用嵌套时),提供了一个强大的工具,您可以使用它来管理组织中的工件请求。

例如,您的组织可能有自己的工件,这些工件既托管在本地存储库中,也托管在远程存储库中。为了获得最佳性能,您希望从本地存储库而不是远程存储库访问这些工件。要执行此策略,您可以定义一个名为“remote-repos”的虚拟存储库,其中包括您的组织访问的完整远程存储库集,然后使用您的组织的groupID指定一个excluded Pattern。通过这种方式,任何从远程存储库访问内部工件的尝试都将被拒绝。要了解更多信息,请参见使用排除模式避免安全风险

考虑另一个例子,在这个例子中,您希望为开发人员定义一个虚拟存储库,但是您希望对他们隐藏某些工件。这可以通过定义不包括模式基于groupId,源或版本。


部署到虚拟存储库

Artifactory支持将工件部署到虚拟存储库。例如,你现在可以使用docker push, npm publish, NuGet push, gem pushArtifactory的REST API和其他工具来将包部署到虚拟存储库。

有关更多细节,请参考部署工件。

部署到虚拟存储库


高级设置

Artifactory请求可以检索远程工件
一个Artifactory实例可以从另一个Artifactory实例中的虚拟存储库请求工件。此复选框指定当尝试解析另一个Artifactory实例请求的工件时,虚拟存储库是否应该通过远程存储库进行搜索。例如,当Artifactory部署在网状(网格)架构中时,您可以使用此特性,并且您不希望Artifactory的所有远程实例充当其他Artifactory实例的代理。

Maven, Gradle, Ivy和SBT存储库

除了上述复选框之外,这些存储库类型还提供以下功能先进的设置:

清理POMs中的存储库引用

公共POMs可以包括对外部存储库的直接引用。如果POM中出现以下代码示例中的任何一个,Maven将动态地向构建添加一个外部存储库URL,从而绕过Artifactory。

对此的客户端解决方案是使用mirrorOf。详情请参阅附加的“镜像-任意”设置

该设置使您能够通过自动清理POM文件来确保Artifactory是系统中唯一的Artifacts提供者。可用于此设置的三个值是:

丢弃活动引用
删除直接在项目下或同一POM中的概要文件下声明的存储库元素activeByDefault
丢弃任何参考资料
删除所有存储库元素,而不管它们是否包含在活动概要文件中
没有什么
没有删除POM中声明的任何存储库元素
密钥对

用于自动对工件签名的命名密钥对。

详情请参阅WebStart和Jar签名

版权所有©2022 JFrog Ltd.