随笔 - 241  文章 - 1  评论 - 58  阅读 - 85万 

前言

在DevOps流水线中构建、测试、部署、监控的整个过程需要依赖于不同版本的构建产物和依赖包,制品库在整个DevOps流水线中扮演着承上启下的角色。

NexusArtifactory都用于存储管理JAR 文件、Docker 镜像、npm 包等构建产物;

这些工具作为1个集中式仓库,帮助团队更高效地处理构建、依赖管理和部署,提高开发流程的稳定性和速度。

具体功能如下

  • 制品存储和版本控制: 制品库存储所有构建的二进制文件、容器镜像、库文件等,并为每个文件分配唯一的版本号。这使得每次部署都能够明确追踪到某个具体版本的制品。

  • 制品版本一致性: 通过Nexus等工具,所有环境(如测试、预生产、生产)都可以引用相同版本的制品。这避免了由于不同环境使用不同版本导致的部署不一致问题。

  • 部署环境透明度: 因为制品库记录了每个制品的版本、依赖关系和使用情况,所以能够清晰地知道在任何时刻,生产环境中部署了哪些组件,是否符合预期,确保生产环境的稳定性和可靠性。

  • 提高软件版本回滚能力: 如果生产环境出现问题,开发团队可以很容易地回溯到之前稳定的版本,并重新部署。这减少了系统故障恢复的时间。

总结来说,制品库在CI/CD管道中扮演了至关重要的角色,它不仅支撑了CI的构建过程,还为CD提供了透明、安全和高效的制品管理,从而提升了整体部署流程的可管理性

一、Nexus是什么

Nexus是由Sonatype提供的仓库管理工具,广泛用于存储和管理构建产物、依赖包、镜像等。

它支持多种常见的仓库格式,包括 MavennpmDockerNuGetRubyGems 等,提供了丰富的功能来管理软件生命周期中的各种构建产物和依赖。、

1.Nexus仓库类型

Nexus的仓库有以下3种类型,分别是Hosted(托管仓库)、Proxy(代理仓库)、Group(组合仓库。

Nexus 仓库类型Artifactory 仓库类型功能描述
Hosted Local 存储你自己上传的构建产物和库(如 Docker 镜像、Maven JAR 包等)。
Proxy Remote 代理外部仓库(如 Maven Central、Docker Hub),并缓存其内容。
Group Virtual 将多个仓库(包括 Hosted 和 Proxy 仓库)聚合为一个统一的访问点。

2.Nexus仓库支持的文件格式

Nexus的仓库不仅有三种类型(Hosted、Proxy、Group),而且每一种类型都支持存储多种构建物格式,使得它能够管理不同语言、平台和工具的构建产物。

仓库类型格式描述
Hosted(托管仓库) Maven 用于存储 Maven 构建工具生成的 JARWARPOM 文件等构建产物。
  npm 用于存储 npm 包,JavaScript 项目的依赖包。
  Docker 用于存储和管理 Docker 镜像
  NuGet 用于存储 NuGet 包,.NET 环境中的包格式。
  Raw 用于存储任何类型的 原始文件(例如文本文件、配置文件、二进制文件等)。
  RPM 用于存储 RPM 包,管理 Linux 系统上的安装包(如 CentOS、RedHat)。
  Pypi 用于存储 Python 包pip 使用的包。
  Apt 用于存储 Debian 或 Ubuntu 系统上的 deb 包
Proxy(代理仓库) Maven 用于代理外部 Maven 仓库(如 Maven Central),缓存依赖并提升构建效率。
  npm 用于代理外部 npm 仓库,缓存 npm 包,提升前端构建速度。
  Docker 用于代理外部 Docker 镜像仓库,缓存镜像并加速容器构建过程。
  NuGet 用于代理外部 NuGet 仓库,缓存 .NET 依赖包。
  Raw 用于代理外部原始文件仓库,缓存文件。
Group(组合仓库) Maven 将多个 Maven 仓库(托管和代理)组合成一个仓库,方便访问不同的 Maven 依赖和构建产物。
  npm 将多个 npm 仓库(托管和代理)组合成一个仓库,方便前端项目管理和依赖拉取。
  Docker 将多个 Docker 仓库组合成一个虚拟仓库,方便统一管理和拉取镜像。
  NuGet 将多个 NuGet 仓库组合成一个虚拟仓库,便于 .NET 项目统一依赖管理。
  Raw 将多个 Raw 仓库组合成一个虚拟仓库,方便存储和管理不同来源的原始文件。

 

 

 

 

 

 

 

 

参考

posted on   Martin8866  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示