JFrog Artifactory 4 成为通用版本

JFrog 发布 Artifactory 4:通用二进制仓库

上个月,JFrog 宣布推出 Artifactory 4,这是一个统一的二进制仓库,支持 Maven、NPM、Docker、Vagrant 等多种打包格式,现被重新命名为“通用工件仓库”。该产品旨在为从开发到运维的整个生命周期提供安全、可扩展和可靠的解决方案。

通用工件仓库的概念

JFrog 首席执行官 Shlomi Ben Haim 解释了通用工件仓库的概念:“世界需要的不仅仅是另一个 Docker 注册表或 Maven 仓库。企业处于多平台环境中,每年都有新技术(如 Docker)出现。他们需要一个能够扩展以满足最苛刻工作负载并摆脱特定平台锁定的通用工件仓库。” 新闻稿总结了近期发布的新功能。

Artifactory 4 的技术特性

InfoQ 与 JFrog 的开发者倡导者 Baruch Sadogursky 讨论了 Artifactory 4 的技术特性。截至 4.1 版本,Artifactory 包含以下显著新增功能:

  • 新的 UI/UX: Artifactory 4 的 UI 反映了从主要面向 Java/Maven 的工作流到用于完整 DevOps 生命周期的通用仓库的扩展。配置向导和代码片段简化了与客户端和 CI/DevOps 工具的集成。
  • 元数据为中心: Artifactory 支持基于元数据的工作流,并提供查询语言(AQL)。通过 RESTful API 进行属性的附加、读取和搜索。Artifactory 能够在使用单一包类型时自动计算元数据。
  • VCS 代理: 可以通过 Artifactory 访问远程仓库(如 git/github),包括使用 git LFS 的大型文件,从而在防火墙内更易于使用并简化配置管理。
  • Docker 集成: Artifactory 支持多种 Docker 工作流:可以作为本地 Docker V1 和 V2 注册表/仓库,具备安全性和镜像元数据搜索功能;可以作为其他 Docker 注册表的代理,实现通过 Artifactory 的统一访问;还可以作为 Docker 镜像提供,简化安装过程。
  • 智能远程仓库: 工件的复制可以通过计划拉取、推送和多推送(需要企业许可证)复制模式实现,自动在多站点组织之间共享工件。“列出远程文件夹”功能支持浏览远程 Artifactory 仓库,“同步属性”功能则将元数据复制回原始服务器。
  • 高可用性: 由于工件仓库位于 DevOps 价值流的中心位置,JFrog 提供了高可用性机制,以防止单点故障和瓶颈。高可用性通过简单的多实例机制实现,具有静态定义的主节点。需要设置外部中央 SQL 数据库、用于仓库存储的 NFS 和负载均衡器,并购买 HA 许可证。

二进制仓库在部署管道中的重要性

《持续交付》合著者 Dave Farley 在之前的 InfoQ 采访中强调了二进制仓库在部署管道中的重要性:“工件仓库是一个核心概念,因为持续交付的核心思想是,每一个提交到生产环境的变更都会生成一个发布候选版本,你需要通过其发布周期评估该候选版本,以确定它是否适合进入生产环境。” Dave 认为,在管道中传递的工件的元数据装饰和丰富非常重要,以便“我们可以捕获测试结果,并基于收集的元数据自动做出决策。”

其他工件仓库

其他工件仓库如 RedHat 社区项目 Pulp、Apache Archiva 和 Sonatype Nexus 也支持持续交付管道,但支持的仓库类型较为有限。Nexus 目前正在增加对 Docker 的支持,并扩展其在 DevOps 社区的影响力。

Artifactory 4 的可用性

Artifactory 4 提供在线云服务、本地部署版本(从 Pro 到 Enterprise/HA)以及精简的开源版本。

阅读 12
0 条评论