如何将工件从多个Artifactory实例分发到目标边缘节点?
如果您有多个源Artifactory实例,并且希望从多个实例分发工件/文件,则可以使用以下三种方法JPDs (JFrog平台部署).
分布情况:
- 地理上分散的组织昼夜不停地开发软件。
- 美国东部地区的一名主要警员
- 一个在美国西部的JPD
- 印度的一个JPD
- 所有三个地理区域都在各自的jpd中开发和发布构建/工件。
- 目标是将这些jpd中的文件和元数据交付到部署在离生产实例更近的边缘。
注意:建议将JFrog Distribution服务部署在离源Artifactory实例更近的地方,以避免延迟和吞吐量问题。如果发行版和源工件位于不同的jpd或区域,预计会有延迟。
方法一:升级为复制
有集中配送服务吗安装(最好是在HA模式下)在一个主jsp中。复制需要从其他JPD分发到主JPD的工件。现在,你可以创作了发布包并将它们分发到目标节点。请参考本文档进行配置JFrog分布.
这个方法是集中和有效的方式自动化整个发布周期.您将有意识地将合格的文件连同物料清单(BOM)和客户属性(打包并签署为不可变的发布包)一起安全地推送到多个目标节点。这种方法基于推送分发,如果所需的文件不存在于目标节点上,有时消费者可能会遇到404错误。使用这种方法,您还需要为目标节点提供单独的清理机制。
方法2:智能存储库
使用智能存储库作为边缘级缓存。智能存储库允许你,比如远程存储库,在Artifactory Edge节点上缓存二进制文件。但是,它比这更强大。您可以完全控制acl访问联合会用于授权用户查看Artifactory远程实例上的源存储库结构。然后可以根据二进制文件的类型本地下载它们。智能存储库只在边缘缓存请求二进制文件。此外,如果您需要的话,它还可以提供有关下载的统计信息。这提供了将Artifactory存储库扩展到Edge的能力,同时确保了安全性和可问责性。
这个方法适用于优化目标节点存储.智能存储库基于按需将所需文件从源节点拉到目标节点,并且消费者不会看到任何404。您还可以在源节点和目标节点之间同步删除。但是,如果网络带宽较低,用户在下载文件时可能会遇到高延迟。这些文件也没有签名,并且缺少目标节点上的BOM。
方法3—多个分布节点
安装在您需要分发工件的所有jpd中的分发服务。将所有分发服务注册到任务控制.现在可以创建和分发从所有JDPS发布包,并将它们分发到目标节点。请参考本文档配置JFrog发行版。
这个方法是如果您想要隔离各种业务单位或团队的发布周期,建议使用。这种分散的方法将允许团队自主地管理他们的发布周期,并从发布的角度防止单点故障。然而,这种方法需要在所有开发中心部署分发服务,并且增加了维护它们的开销。
