
腾讯云 CNB 制品库支持 Docker、Helm、Maven、npm 等 11 种制品格式,提供版本追溯、漏洞扫描和细粒度的访问控制,帮助团队实现制品全生命周期的安全管控。
在云原生研发流程中,制品管理是连接代码构建与部署上线的关键环节。腾讯云 CNB(Cloud Native Build)制品库作为平台的核心组件之一,为开发者提供统一的制品存储和管理能力,覆盖从容器镜像到编程语言包的多种制品格式。
CNB 制品库原生支持以下 11 种制品类型:
制品类型 | 适用场景 |
|---|---|
Docker Image | 容器镜像存储与分发 |
Docker Model | 大模型镜像管理 |
Helm Chart | Kubernetes 应用包管理 |
Maven | Java 项目依赖管理 |
npm | Node.js 前端包管理 |
ohpm | 鸿蒙应用包管理 |
NuGet | .NET 项目依赖管理 |
Composer | PHP 项目依赖管理 |
PyPI | Python 项目依赖管理 |
Cargo | Rust 项目依赖管理 |
Conan | C/C++ 项目依赖管理 |
这一覆盖范围涵盖了当前主流的编程语言生态和云原生技术栈。无论是容器化部署所需的 Docker 镜像和 Helm Chart,还是传统软件开发中的 Maven、npm、PyPI 等语言包,都可以在 CNB 制品库中统一管理,避免团队在多个制品仓库之间来回切换。
CNB 制品库在归属逻辑上采用分类管理策略,不同类型的制品根据其使用场景归属于不同的管理层级。
归属于代码仓库的制品类型:
这三类制品与具体的代码仓库紧密关联,通常跟随代码版本进行构建和发布。开发者可以在仓库内直接查看和管理关联的制品,实现代码与制品的一体化管理。
归属于组织的制品类型:
这八类语言包制品归属于组织级别,适用于团队内部的共享和复用。组织管理员可以统一管理这些制品的访问权限和存储策略,方便跨仓库的依赖共享。
这种分类机制的设计符合实际研发场景:容器镜像和应用包通常与特定项目绑定,而语言依赖包则更适合作为组织级的公共资源。
制品库的版本管理功能确保团队能够清晰地追踪每一次构建产物的变更历史。
多版本存储:CNB 制品库支持同一制品包的多个版本并存。每次推送新版本时,系统会自动记录版本信息,包括推送时间、推送者、版本号等元数据。
版本追溯:在制品包详情页中,可以查看该制品的所有历史版本列表。点击任一历史版本,即可进入版本详情页,查阅该版本包含的文件内容及文件大小。对于 npm 等语言包,还可以查看该版本所依赖的其他包及版本信息,便于排查依赖冲突问题。
制品与版本删除:为避免制品库空间被历史版本过度占用,CNB 支持手动清理。进入制品库后,点击制品名称进入该制品,可删除整个制品或指定版本;Docker/Helm/Docker Model 制品库无需手动删除,其余类型可在「制品库设置」中删除制品库。
制品安全是软件供应链安全的重要组成部分。CNB 制品库集成安全扫描能力,对制品进行自动化安全检测,帮助团队在部署前发现潜在的安全风险。
自动化安全检测:制品库支持在制品推送或构建完成后自动触发安全扫描。扫描范围包括制品中引用的开源组件及其已知漏洞信息,帮助团队及时识别存在安全风险的依赖版本。
与流水线联动:安全扫描可以与流水线结合,在制品构建阶段即介入检测,把安全检查前置到研发早期,降低后期修复安全问题的成本。
制品库的权限管控区分两类制品,分别沿用代码仓库与制品库自身的角色体系。
两类制品的权限来源不同:
CNB 的成员角色共五级:负责人、管理员、开发者、助手、访客。
制品行为的角色要求:官方按"公开 / 私有"与"拉取 / 推送 / 删除"划分所需角色,如下表所示:
制品库类型 | 行为 | 所需角色 |
|---|---|---|
公开制品库 | 制品拉取 | 任何人都可以拉取,无需登录鉴权 |
公开制品库 | 制品推送 | 开发者及以上 |
公开制品库 | 制品删除 | 管理员及以上 |
私有制品库 | 制品拉取 | 访客及以上,需登录鉴权 |
私有制品库 | 制品推送 | 开发者及以上 |
私有制品库 | 制品删除 | 管理员及以上 |
访问令牌鉴权:通过命令行工具读写制品时,操作能否获得授权,由用户角色与请求携带的访问令牌权限共同决定。访问令牌缺失时系统视为匿名访问,仅允许拉取公开制品库的制品。在云原生构建和云原生开发中,平台内置了访问令牌,可直接使用 ${CNB_TOKEN_USER_NAME} 与 ${CNB_TOKEN} 环境变量,无需额外创建。
成员管理:用户在制品库中的角色,可在「制品库 > 制品库设置 > 成员管理」中查看和配置,实现灵活的权限分配。
腾讯云 CNB 制品库通过多类型支持、分类归属管理、版本追溯、漏洞扫描和细粒度访问控制等能力,为企业级制品管理提供了完整的解决方案。无论是管理容器镜像和 Helm Chart 等云原生制品,还是统一管理 Maven、npm、PyPI 等语言包依赖,CNB 制品库都能满足团队在制品存储、版本管控和安全合规方面的需求。
对于正在构建云原生研发流程的团队,CNB 制品库可以作为制品统一管理的核心基础设施,配合流水线的自动化能力,实现从代码到部署的全链路安全管控。
如果你所在的企业对制品的版本追溯、漏洞扫描与权限管控有明确诉求,不妨在自己的代码仓库中启用腾讯云 CNB 制品库,把多类型制品的统一管理与安全合规落到一条流水线里。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。