如何将工件从多个Artifactory实例分发到目标边缘节点?

JFrog支持
2022-12-27 12:28

如果您有多个源Artifactory实例,并且希望从多个实例中分发工件/文件,您可以使用以下三种方法JPDs (JFrog平台部署)

分布情况:

  • 地理上分散的组织全天候地开发软件。
    • 一个主要的JPD在美国东部地区
    • 美国西部的一个警察
    • 在印度有一个JPD
  • 这三个地理区域都开发并将构建/工件发布到各自的jpd中。
  • 目标是将这些jpd中的文件和元数据交付到部署在离生产实例更近的edge。

注意:建议将JFrog Distribution服务部署在离源Artifactory实例更近的地方,以避免延迟和吞吐量问题。如果Distribution和source Artifactory位于不同的jpd或区域,则预期会有延迟。

方法一:提升到复制

拥有中央分销服务安装,最好在HA模式,在一个主JPD。复制从其他JPD分发到主JPD的所需工件。现在,你可以创造了发布包在主JPD中,并将它们分发到目标节点。请参考本文档进行配置JFrog分布

这个方法是集中式和高效的方式自动化整个发布周期.您将有意识地将合格的文件与物料清单(BOM)和客户属性一起打包并签署到一个不可更改的发布包中,安全地推到多个目标节点。这种方法基于推送分布,如果目标节点上不存在所需的文件,有时使用者可能会遇到404错误。使用这种方法,还需要为目标节点提供单独的清理机制。

用户添加图片方法2:智能存储库

使用智能存储库作为边缘级缓存。智能存储库允许您远程存储库,在Artifactory Edge节点上缓存二进制文件。但是,它比这更强大。您可以完全控制使用的acl访问联合会授权用户可以查看Artifactory远程实例上的源存储库结构。然后可以根据二进制文件的原生类型下载它们。智能存储库只在边缘缓存请求二进制文件。此外,如果您愿意的话,它还提供了返回源代码的下载统计信息。这提供了将Artifactory存储库扩展到Edge的能力,同时确保安全性和可问责性。

这个方法是为了优化目标节点的存储.智能存储库基于按需将所需的文件从源节点拉到目标节点,消费者不会看到任何404。您还可以在源节点和目标节点之间同步删除。但是,如果网络带宽较低,用户在下载文件时可能会遇到较高的延迟。文件也没有签名,并且缺少目标节点上的BOM。

用户添加图片

用户添加图片方法三:多个分布节点

安装在您需要分发工件的所有jpd中提供分发服务。将所有分发服务注册到任务控制.现在可以创建和分发从所有JDPS中释放捆绑包,并将它们分发到目标节点。配置JFrog Distribution时,请参考本文档。

这个方法是如果您希望分离各个业务单元或团队的发布周期,建议使用此方法。这种分散的方法将允许团队自主地管理他们的发布周期,并从分发的角度防止单点故障。但是,这种方法需要在所有开发中心部署分发服务,并增加维护它们的开销。

用户添加图片