跳至主要內容

制品库管理

Sankgao约 733 字大约 2 分钟制品库管理制品库管理

记录一些制品库管理相关的信息。

什么是制品库

制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件,这些二进制通常可以直接运行在服务器上。

制品库用来统一管理不同格式的软件制品。除了基本的存储功能,还提供了版本控制、访问控制、安全扫描、依赖分析等重要功能,是一种企业处理软件开发过程中产生的所有包类型的标准化方式。

什么是 Maven 私服

Maven 私服用于管理和分发构建制品(如:JAR、WAR、POM 文件等),是一种特殊的 Maven 远程仓库,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库(代理仓库),比如:阿里云镜像仓库)。还可以将自己开发的私有构建上传到私服,供开发人员使用。

用户通过 Maven 私服请求下载某个包或者构件顺序如下:

  1. 用户先请求本地仓库,若本地仓库存在所需构件,直接从本地仓库获取;若本地仓库不存在所需构件,将请求转到 Maven 私服
  2. 用户请求 Maven 私服,若存在所需构件,将构件下载到本地仓库;若不存在所需构件,将请求转到代理仓库
  3. 用户请求代理仓库,若存在所需构件,将构件缓存到 Maven 私服并下载到本地仓库;若不存在所需构件,将请求转到中央仓库
  4. 用户请求中央仓库,若存在所需构件,将构件缓存到 Maven 私服并下载到本地仓库;若不存在所需构件,报错提示

能够帮助我们建立私服的软件被称为 Maven 仓库管理器,主要有以下三种:

Maven 私服的作用

  • 从私服下载,加速 Maven 构件的下载速度
  • 消除对外部仓库的大量重复请求,节省宽带,加速项目构建速度
  • 部署第三方构件,将这些构件部署到私服中,供内部 Maven 项目使用
  • 提高 Maven 的稳定性,增强对项目的控制
  • 通过私服,团队可以统一管理和控制项目所需的依赖项版本,确保整个团队使用相同的构建制品,降低了版本冲突和不一致性的可能性
  • 私服可以提供访问控制和安全认证机制,限制对仓库的访问,确保只有授权的人员能够发布和获取构建制品
  • 降低中央仓库的负荷