指南
版本策略
说明 Docker 镜像标签的含义、v1 的兼容范围和发布流程,帮你选择要使用的标签。
推荐的标签
使用主版本通道
Docker 镜像推荐使用
ghcr.io/alice39s/kuma-mieru:1(主版本通道)。不推荐固定到次版本或补丁版本(例如 :1.6 或
:1.6.2),除非你有明确的灰度发布与回滚策略。
兼容范围
v1主版本内尽可能保持向前兼容。v2将包含重大的 Breaking Changes。
镜像标签
Docker Build and Push to GHCR 工作流按 apps/web/package.json 中的版本号给镜像打以下标签:
| 标签 | 示例 | 指向 |
|---|---|---|
| 主版本 | 1 | 这个主版本的最新构建 |
| 次版本 | 1.6 | 这个次版本的最新构建 |
| 完整版本 | 1.6.2 | 这个版本号的构建 |
latest | latest | 默认分支 main 的最新构建 |
| 提交 | sha-<短哈希> | 某一次提交的构建 |
每个标签都包含 linux/amd64 和 linux/arm64 两种架构。工作流在以下情况运行:
| 触发方式 | 构建镜像 | 推送标签 |
|---|---|---|
推送到 main,并且改动了 apps/web/package.json、Dockerfile、docker-compose.yml 或工作流文件 | 是 | 是 |
手动运行,或由 Manual Version Bump 启动 | 是 | 是 |
指向 main 的 Pull Request 改动了 apps/web/package.json 或 Dockerfile | 是 | 否 |
发布流程
flowchart LR A["Manual Version Bump:更新版本号、提交并推送"] -->|直接启动| C["Create Release"] A -->|直接启动| D["Docker Build and Push to GHCR"] M["维护者把版本号提交推送到 main"] -->|push 启动| C M -->|push 启动| D C --> E["v 标签与 GitHub Release"] D --> F["GHCR 镜像"]
- 维护者手动运行
Manual Version Bump工作流,选择patch、minor或major。工作流更新apps/web/package.json的版本号,提交chore(release): bump version to <版本号>并推送,然后直接启动Create Release和Docker Build and Push to GHCR。 - 维护者也可以自己修改
apps/web/package.json的版本号,把提交推送到main。这时两个工作流由 push 启动。 Create Release读取apps/web/package.json的版本号。当前版本号与最新一个 Release 的版本不同时,它创建标签v<版本号>和对应的 GitHub Release。Release 说明包含按提交生成的更新日志、贡献者列表,以及 Docker 和 Docker Compose 的更新方法。Docker Build and Push to GHCR构建镜像,并按上表推送标签。
升级
最后更新于