
# 什么是制品仓库
#### 服务概述
制品仓库服务（CodeArts Artifact）为软件开发企业提供软件发布过程全生命周期管理能力，保障软件发布过程的规范化、可视化及可追溯。
相对于开发过程中的"源代码"，制品仓库服务关注和管理的是开发产生的待部署"软件包"（通常由源码编译构建或打包而成）及其生命周期元数据，包括名称、大小等基本属性，以及代码库地址、代码分支信息、构建任务、构建者、构建时间等关联信息。
"软件包"及其元数据的管理是软件发布过程管理的基础，也是软件开发过程中的重要资产，常见的软件研发过程如[图1]所示：
图1软件开发过程   
![](https://support.huaweicloud.com/productdesc-cloudartifact/zh-cn_image_0000001914557844.png "点击放大")
[图1]中的Repository即制品仓库，统一管理软件开发过程中产生的软件包，是连接持续集成与持续交付的重要环节，软件包的发布评审、全链路追溯及安全控制等操作均在此完成。
制品仓库服务提供以下两类仓库：
- 软件发布库 软件发布库支持存储各类软件包及工具，无特定格式限制。
  通过编译构建任务可将构建产物归档至软件发布库，支持通过页面查看、管理已归档的软件包及其生命周期属性信息；部署服务所需的部署软件包均来源于此仓库。
  
- 私有依赖库 私有依赖库用于管理各类开发语言对应的私有组件包（开发者通俗称之为"私服"，例如Maven私服）。
  由于不同开发语言的组件通常有特定归档格式要求（例如Maven组件需基于GAV格式归档），私有依赖库的核心作用是集中管理私有开发语言组件，并在企业或团队内部共享，供开发者在开发过程中使用。
  
 
#### 视频介绍
<video controls="controls" preload="none" id="object934114209179" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/CodeArtsArtifact/1717742053736479725.mp4" title="制品仓库数字人第一期讲解" poster="https://support.huaweicloud.com/productdesc-cloudartifact/zh-cn_image_0000001946339445.png" height="446.6667" width="800.0000"></video>
#### 制品仓库服务提供哪些功能？
表1软件发布库功能特性 
| 功能特性                   | 说明                                                                |
|:---|:---|
| 页面上传、下载、搜索、删除软件包，创建文件夹 | 支持通过软件发布库页面，以类似网盘的操作方式（上传、下载、搜索等）管理软件包。                           |
| 查看软件包属性                | 在软件发布库中可查看软件包的全生命周期属性，包括基本信息（名称、大小、校验和等）、构建关联信息（构建任务、构建时间、源码仓库等）。 |
| 编译构建发布软件包到软件发布库        | 软件发布库默认集成编译构建服务，编译构建服务生成的所有软件包，均可通过配置实现自动上传至软件发布库归档。              |
| 集成部署服务                 | 软件发布库中存储的软件包可直接对接部署服务，供部署场景调用。                                    |
| 包视图和构建视图               | 支持根据需求选择查看视角：包视图（按存储目录结构展示）或构建视图（按构建任务及流水线关联展示）。                  |
   
表2私有依赖库功能特性 
| 功能特性            | 说明                                                                                    |
|:---|:---|
| 页面上传、下载、删除、搜索组件 | 支持通过私有依赖库页面，以类似网盘的操作方式（上传、下载、搜索等）管理私有组件。                                              |
| 编译构建发布组件到私有依赖库  | 用户可在编译构建任务中配置规则，将构建产物直接发布至私有依赖库。                                                      |
| 对接本地开发环境        | 通过页面提供的使用配置，可一键生成配置文件。将该文件配置到本地开发工具后，本地开发环境可直接对接私有依赖库中的私有组件包，支持通过命令行等方式对组件执行上传、下载等操作。 |
| 仓库权限控制          | 管理员可通过为成员分配各仓库的对应角色，精细化限制其在私有依赖库的操作权限（如上传、下载、删除等）。                                    |
   
