Shukka
使用指南

发布版本

说明一个版本从草稿到上线、再回滚或删除分别意味着什么,以及运维应如何解读面板上的下载计数与命中趋势。

发布通过 CI 发布 里的 GitHub Action 或上传脚本完成,一般不需要手写上传协议。

草稿与上线

上传默认产生草稿:记录齐全,但不向用户开放,客户端看不到。

两种上线方式:

  • 上传时直接发布,立即对用户开放。
  • 事后在面板 Channels 标签页对草稿点 promote(admin / developer 角色)。草稿首次上线时记录发布时间,此后不可再变回草稿。

版本状态:

状态含义
上传中上传尚未完成,未产生版本
草稿上传完成但未发布,面板可见、客户端不可见
当前channel 现在向用户开放的就是这一版
已发布非当前仍可下载,老客户端不受影响

自定义版本元数据

在 GitHub Action 输入中添加 metadata JSON 字符串,或运行上传脚本时设置 SHUKKA_METADATA,例如 '{"build":{"commit":"abc123"}}'。省略时默认为 {}。上传器会先校验对象,再上传文件;元数据和版本一起保存,上传时直接发布也一样。

草稿和已发布版本都可以从面板版本行编辑元数据。格式限制、编辑步骤与客户端读取见版本元数据。

回滚

在面板把 channel 指回任意已发布版本即可。切换瞬间完成,客户端不会看到半新半旧。建议回滚而不是删除新版本。

删除语义

  • 删除 version / channel / app 会同时删除它拥有的 S3 对象,不可撤销。
  • 删除的是当前版本时,channel 回退到剩余最新已发布版本;无剩余则清空。
  • 版本制品一经上传完成不可修改,只可删除。

下载计数与趋势

面板 Channels 标签页展示每个版本的下载与检查计数及趋势图(admin 与 content 角色可见)。

自托管 Node(Docker / VPS)上,每次 feed 检查与制品 302 会增加这些计数。Cloudflare Workers 上 feed 仍返回 yml 与 302,但 Shukka 不记命中——看请求量用平台日志。

本页目录