You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于SemVer规范,预发布版本应基于旧版本还是新版本号?

SemVer规范下开发环境临时构建版本标记最佳实践

针对开发环境伪CD的版本标记需求,结合SemVer规范,给出以下落地性强的最佳实践:

  • 采用「当前正式版本+预发布标识+追溯元数据」的格式
    完全不用提前猜测下一个正式版本,直接基于上一个稳定版(比如1.2.3)生成标记,示例:

    • 带时间戳:1.2.3-dev.1668519441
    • 带Git Commit Hash:1.2.3-dev.abc123
    • 两者结合:1.2.3-dev.1668519441+abc123
      SemVer规范允许预发布部分(-后)添加自定义标识,dev明确区分是开发环境临时构建;时间戳或Commit Hash保证版本可追溯。Helm等工具能正确识别这类预发布版本,不会触发报错。
  • 后续切换正式预发布版本的平滑过渡
    当确定下一个正式版本(比如明确要发1.3.0),再将开发版本切换为规范的预发布格式(如1.3.0-alpha.1、1.3.0-beta.2)即可。之前基于旧稳定版的临时开发版本属于独立版本线,不会和新预发布版本产生冲突。

  • 避坑要点

    • 不要只用纯时间戳作为预发布标识(如1.2.3-1668519441),这类标记无法直观区分开发构建与补丁预发布,易造成混淆,必须加上dev这类明确标识。
    • 绝对不要提前猜测下一个正式版本做标记,一旦预判错误,后续需要大量版本修正,反而增加维护成本。
    • 用CI/CD脚本自动生成版本号,比如通过Git命令提取Commit Hash、系统时间生成时间戳,避免手动输入出错。

内容的提问来源于stack exchange,提问作者ChickenWing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 17:10:24