Artifactory中你应该知道的5个特殊库

Artifactory中的5个特殊仓库

注:本博客最近于2021年6月16日更新。

在众多不同类型的二进制存储库内部管理JFrog Artifactory作为工件存储库,有5个非常有用的存储库,你可能没有注意到。就像Artifactory中的所有存储库一样,这些存储库也使用Artifactory的所有额外好处来存储您的二进制文件,但在使用上略有不同。下面是对这些存储库的简要介绍,以及它们如何增强您的JFrog体验。

1.通用存储库

这种类型的存储库没有特定的类型,可以用来上传任何格式的包。泛型存储库不维护单独的包索引,因为它们不特定于任何包类型。当您想代理不支持的包类型、存储安装程序、导航文件、音频文件等时,它们很有用。

通用存储库

2.构建信息存储库

这个默认artifactory-build-info存储库在Artifactory版本6.6中引入,并替换了将“build-info”文件作为blob存储在Artifactory数据库中的旧机制。这artifactory-build-info存储库存储由不同的CI服务器插件上传到Artifactory的所有构建信息文件,包括Artifactory詹金斯插件JFrog CLI,并直接通过构建上传REST APIArtifactory UI.的构建信息可用REST API构建页面在Artifactory UI中。

这个新的存储库引入了一组新的用户/组权限,用于定义对“build-info”文件的访问。这相当于在' build-info '存储库中,在' build-info ' JSON路径上使用包含/排除模式管理存储库的权限。权限可以使用“创建或替换权限目标的REST API调用,它现在使用V2 JSON新增' build-info '权限部分。

例如,下面的cURL和build-info-permission。Json为一个名为" test-maven "的构建定义了一个新的权限目标" java-developers ":

cURL命令

curl -uadmin:password -XPUT "http://localhost:8081/artifactory/api/v2/security/permissions/java-developers" -H "Content-type: application/json" -T build-info-permission.json

build-info-permission.json

{" name ": " java开发人员”,“回购”:{“include-patterns ": ["**"] ( 默认),“exclude-patterns”:["](默认),“存储库”:“generic-local”,“行动”:{"用户":{“test1”:[“读”、“写”、“管理”),“test2”:[“写”、“注释”、“读”)},“团体”:{“group1”:[“管理”、“读”、“注释”),“读者”:["阅读 "] } } }, " 构建":{" include-patterns”:(“test-maven / * *”)(默认),“exclude-patterns”:["](默认),“存储库”:[" artifactory-build-info "](默认情况下,不能被改变),“行动”:{"用户":{“test1”:“读”,“管理”,“test2”:[“写”]},“团体”:{“group1”:[“管理”、“读”、“写”、“注释”,“删除”,“读者”:["阅读 "] } } } }

请注意:当将Artifactory升级到版本6.6或更高版本时,迁移过程将开始将所有的' build-info '文件从数据库移动到新的' Artifactory -build-info '存储库。您可以通过使用一些工具来控制迁移过程系统属性这可以添加到‘artifactory.system’中。属性文件位于$ARTIFACTORY_HOME/etc。

其他增强包括:

  • 改进了对' build-info ' JSON文件的可访问性和build模块的整体性能。
  • ' build-info '复制到其他实例,因为它们作为构件存储在存储库中
    (仅使用REST API可用。通过UI为这个存储库配置复制将在以后的版本中添加)。

3.发布包存储库

这个不变的release-bundles库将保护您的工件作为Enterprise+分发流的一部分。已经创建和签名的工件会自动复制并保存到这个单独的存储库中,在这个存储库中不能编辑或删除它们的内容。这确保了目标实例之间分布的一致性。即使原始工件从原始存储库中删除了,它们也将继续留在发布包存储库中,以供分发。在中创建和管理这些发布包JFrog分布,并且通常从源Artifactory实例分布到Artifactory Edge节点。

*可用于企业+当升级到Artifactory 6.5和Distribution 1.3时。

发布包存储库

4.智能远程存储库

智能远程存储库可以代理到Artifactory的另一个实例中的本地或远程存储库。这个存储库的行为与任何存储库都一样远程存储库并提供了其他好处,如合并报告的下载统计信息、同步属性、远程存储库浏览和源代码缺失检测。

下面是如何轻松配置智能远程存储库:

智能远程存储库

5.联合存储库

双向联合存储库支持跨不同JFrog平台部署的工件及其元数据的无缝同步。联合包括来自不同平台部署的联合存储库,在不同远程位置或JFrog平台的不同实例之间创建一个数据中心透明的存储库。同步过程是自动的,对用户是透明的,这使得这种类型的存储库对于实现即时工件和元数据镜像非常有用。

*支持企业和企业+订阅

下面是如何轻松配置联合存储库:

JFrog联合存储库

既然您已经了解了这5个存储库,那么就开始尝试吧!