制品开发
制品开发是一个面向开发者的官方应用,用于设计、打包、维护和发布 ZPK 制品。
它的重要性不只是“管理几个制品文件”,而是:微擎面板里很多可以安装的应用,主要就是通过这个工具来设计、打包和发布的。
如果你要把一个应用沉淀成可安装、可升级、可持续交付的面板应用,而不是只做一次性的临时打包,那么制品开发就是核心工具。
项目已开源:
这个工具主要解决什么问题
在实际开发里,一个应用要变成可安装制品,通常不只是准备一份代码,还要同时处理:
- 制品基础信息
- Manifest 定义
- 附件包和文件树
- 版本管理
- 发布设置
- 升级策略和价格配置
- 仓库、命名空间和权限
制品开发的作用,就是把这些原本分散的事情整理到一套开发和发布流程里。
你通常会在这里做什么
从当前前后端能力看,开发者在这个工具里最常见的工作包括:
- 新建和维护制品
- 编辑制品基础信息和 Manifest
- 上传、整理和维护附件包
- 创建和维护版本
- 配置发布、升级和价格策略
- 执行制品发布
- 管理仓库、命名空间和权限
可以把它理解成:应用管理 更偏“怎么安装和使用应用”,而 制品开发 更偏“怎么把应用做成一个可安装、可发布的制品”。
主要页面怎么理解
从当前前端路由看,这个工具至少包含下面这些主要页面:
- 制品列表
- 制品详情
- 版本管理
- 制品编辑
- 前端制品编辑
- Manifest 编辑
- 附件上传
- 附件树
- 镜像仓库
- 命名空间
- 用户管理
- 设置
- 制品商店
这些页面不是简单平铺,而是围绕一条完整链路组织起来的:
定义制品 → 补齐内容 → 管理版本 → 执行发布 → 进入分发和权限控制
一、从哪里开始最合适
如果你是第一次进入制品开发,建议按下面顺序开始:
- 先进入 制品列表,确认已有制品情况
- 如果是新制品,进入 制品编辑 或 Manifest 编辑
- 上传附件包并补齐文件树内容
- 进入 版本管理 创建版本
- 配置发布设置、升级策略和价格信息
- 执行发布
这个顺序更接近真实开发链路,也更符合“先定义,再打包,再发布”的工作方式。
开始之前先准备什么
如果你准备开始做一个新制品,通常最好先准备好下面这些内容:
- 制品的名称、标识和基础说明
- 应用的核心结构或交付方式
- 需要上传的附件包
- 版本规划
- 发布目标和升级策略
这些内容越早准备清楚,后面的编辑、打包和发布就会越顺。
二、制品定义相关页面
和“制品定义”最相关的页面主要有:
- 制品编辑
- 前端制品编辑
- Manifest 编辑
- 制品描述
它们各自更适合处理:
- 制品编辑:维护制品整体结构和基础信息
- 前端制品编辑:处理前端相关制品内容
- Manifest 编辑:维护制品清单和结构配置
- 制品描述:维护展示说明和描述文档
如果你的目标是“把制品定义清楚”,通常会主要停留在这一组页面里。
Manifest、附件包、版本之间是什么关系
可以把这三者理解成三个不同层次:
- Manifest:定义这个制品是什么、怎么描述、怎么被系统识别
- 附件包:提供制品真正要交付的内容
- 版本:把某一次完整的制品状态沉淀成可发布、可升级的版本
简单说:
- Manifest 负责“定义”
- 附件包负责“内容”
- 版本负责“发布对象”
如果这三者没有理顺,后面通常就会出现“内容有了但版本不完整”或“版本有了但发布结果不对”这类问题。
三、附件包和文件树
制品开发不是只改配置,很多时候还要维护真实的附件内容。
当前实现里已经明确包含:
- 附件上传
- 附件树
这意味着你可以:
- 上传制品附件包
- 查看附件结构
- 继续维护制品内容树
如果一个制品的配置看起来没问题,但发布后内容不对,通常就要先回到附件和文件树继续检查。
四、版本管理和发布
版本管理是制品开发里非常关键的一块。
从当前前端和后端能力看,这里至少包含:
- 新建版本
- 编辑版本说明
- 查看发布状态
- 配置发布设置
- 处理版本升级相关能力
- 配置价格和升级策略
如果你把制品理解成“长期演进的交付物”,那版本管理就是它最核心的维护入口。
什么时候需要优先进入版本管理
通常在这些场景里要优先进入版本管理:
- 新制品已经准备好,准备发布第一个版本
- 需要补充新版本说明
- 需要调整发布设置
- 需要处理升级策略
- 需要确认某个版本是否已经发布成功
五、发布、官方制品库和云市场
当前实现里可以确认,制品不仅能发布,还能继续和官方制品库、云市场相关能力打通。
前端里可以看到:
- 制品商店
- 添加到官方制品仓库
- 发布到云市场后的状态说明
后端里也能看到围绕:
publishgoods publishpublish loop
这些发布流程相关的处理逻辑。
这意味着制品开发的目标不是把内容存下来而已,而是把它变成真正可以上线、可分发、可升级的制品。
六、仓库、命名空间和权限
除了制品本身,这个工具还覆盖了一组更偏平台维护的能力:
- 镜像仓库
- 命名空间
- 用户管理
这部分更适合处理:
- 制品应该放到哪个命名空间
- 谁对哪个仓库有管理权限
- 是否允许 push、pull 或更精细的仓库权限控制
如果你已经不只是“做一个制品”,而是要长期管理多个制品、多个人员或多个仓库,这组能力会很重要。
什么时候需要进入这些页面
通常在这些场景里,才需要优先去看这组页面:
- 制品数量越来越多,需要分类管理
- 多人协作时,需要控制谁能 push、谁能管理仓库
- 同一个团队维护多个制品,想把分发范围理清楚
- 发布链路已经跑通,但权限或仓库结构开始变复杂
如果你现在只是开发和发布单个制品,通常不需要一开始就把重点放在这里;等制品数量、协作人数或权限需求变复杂后,再重点处理会更合适。
七、CLI 配套能力怎么理解
这个项目除了面板本身,还包含配套 CLI。当前已经可以确认的命令能力包括:
loginattachpushlistuse
从开发者角度看,可以把它理解成:
- 面板适合做制品定义、版本管理和发布配置
- CLI 更适合做附件处理、打包、推送和命令行开发链路
如果你的团队既需要图形化管理,又需要脚本化或命令行发布能力,这两部分通常会配合使用。
什么时候更适合用面板,什么时候更适合用 CLI
可以按这个原则判断:
- 更适合用面板:制品信息维护、版本管理、发布设置、价格与升级策略、仓库和权限配置
- 更适合用 CLI:附件包处理、打包、推送、命令行工作流集成
如果你的工作是“定义和管理制品”,优先用面板;如果你的工作是“把本地内容打包并推送到制品链路里”,CLI 往往更顺手。
八、常见开发链路
如果你是第一次使用制品开发,通常可以按下面顺序操作:
- 新建或进入某个制品
- 完成制品基础信息和 Manifest 定义
- 上传并整理附件包
- 创建版本
- 配置发布设置、升级和价格信息
- 执行发布
- 如果需要继续管理分发范围,再去看命名空间、仓库和权限
这条链路更适合长期维护制品,而不是只做一次性的临时打包。
九、什么时候优先检查制品开发本身
如果你遇到下面这些情况,通常要先回到制品开发应用里排查:
- 制品内容和实际发布结果不一致
- 附件包已经上传,但版本内容不完整
- 版本一直无法发布
- 发布后状态异常
- 仓库权限或命名空间配置不符合预期
使用建议
- 先把制品定义、Manifest 和附件内容整理清楚,再去做版本和发布
- 不要把“制品定义问题”和“发布结果问题”混在一起判断
- 如果一个应用需要长期维护,尽早规划好版本、命名空间和权限结构
- 如果同时使用面板和 CLI,建议明确各自职责,避免重复操作同一链路
制品开发的价值,在于把“应用设计、制品定义、版本维护、附件管理、发布与分发”这些原本分散的工作,整理成一套面向开发者的制品开发流程。
