使用Artifactoryx ?
JFrog Artifactoryx用户指南
有问题吗?想要报告问题?联系JFrog支持
概述
为了简化对不同存储库的访问,Artifactory允许您定义一个虚拟存储库,它是通过单个逻辑URL访问的本地、远程和其他虚拟存储库的集合。
虚拟存储库隐藏了底层存储库的访问细节,允许用户使用单一的知名URL。底层参与存储库及其访问规则可以在不需要任何客户端更改的情况下进行更改。
基本设置
以下内容在常见的设置页面。
此外,在存储库部份基本设置界面选择可用的存储库包含在新的虚拟存储库中并将它们移到选择存储库列表。
对象中的拖放可以重新排序此列表选择存储库列表。
的包括存储库节显示此虚拟存储库中包含的实际存储库的有效列表。如果所选的任何可用存储库本身是虚拟存储库,则包括存储库节将显示其中包含的本地和远程存储库。的包括存储库List将自动更新,以防任何嵌套的虚拟存储库发生更改。
当从虚拟存储库请求工件时,搜索/解析顺序总是:
- 局部存储库
- 远程存储库缓存
- 远程存储库本身。
类别中的顺序由它们在列表中显示的顺序控制选择存储库列表。
嵌套
嵌套是Artifactory的一个独特特性,在使用虚拟存储库时更加灵活。
您应该注意不要创建嵌套存储库的“无限循环”。Artifactory分析虚拟存储库的内部组成,如果虚拟存储库由于无效嵌套而无法解析,将发出警告。
使用包含和排除模式
定义和的能力包括模式和一个不包括模式对于虚拟存储库(特别是在使用嵌套时),提供了一个强大的工具,您可以使用它来管理组织中的工件请求。
例如,您的组织可能有自己的工件,这些工件既托管在本地存储库中,也托管在远程存储库中。为了获得最佳性能,您希望从本地存储库而不是远程存储库访问这些工件。要执行此策略,您可以定义一个名为“remote-repos”的虚拟存储库,其中包括您的组织访问的完整远程存储库集,然后使用您的组织的groupID指定一个excluded Pattern。通过这种方式,任何从远程存储库访问内部工件的尝试都将被拒绝。
考虑另一个例子,在这个例子中,您希望为开发人员定义一个虚拟存储库,但是您希望对他们隐藏某些工件。这可以通过定义不包括模式基于groupId,源或版本。
部署到虚拟存储库
从4.2版开始,Artifactory支持将构件部署到虚拟存储库。例如,你现在可以使用docker push, npm publish, NuGet push, gem push
Artifactory的REST API和其他工具来将包部署到虚拟存储库。
详情请参阅部署的工件.
高级设置
Artifactory请求可以检索远程工件 |
一个Artifactory实例可以从另一个Artifactory实例中的虚拟存储库请求工件。此复选框指定当尝试解析另一个Artifactory实例请求的工件时,虚拟存储库是否应该通过远程存储库进行搜索。例如,当Artifactory部署在网状(网格)架构中时,您可以使用此特性,并且您不希望Artifactory的所有远程实例充当其他Artifactory实例的代理。 |
Maven, Gradle, Ivy和SBT存储库
除了上述复选框之外,这些存储库类型还提供以下功能先进的设置:
清理POMs中的存储库引用 |
公共POMs可以包括对外部存储库的直接引用。如果POM中出现以下代码示例中的任何一个,Maven将动态地向构建添加一个外部存储库URL,从而绕过Artifactory。
对此的客户端解决方案是使用mirrorOf。详情请参阅附加的“镜像-任意”设置. 该设置使您能够通过自动清理POM文件来确保Artifactory是系统中唯一的Artifacts提供者。可用于此设置的三个值是:
|
||||||
密钥对 |
用于自动对工件签名的命名密钥对。 详情请参阅WebStart和Jar签名. |
预定义的库
Artifactory附带了一组预定义的虚拟存储库,它们反映了如下的二进制管理最佳实践。
remote-repos |
所有远程存储库的聚合 |
lib-releases |
lib -releases-local, ext-releases和远程回购 |
plugins-releases |
插件-本地发布,插件-本地发布和远程回购 |
libs-snapshots |
lib -snapshot -local, ext-snapshot -local, remote-repos |
plugins-snapshots |
plugins-snapshot -local, ext-snapshot -local, remote-repos |