制品版本管理

工作分享团队约 856 字大约 3 分钟

版本像是服装的款式和尺码,像是汽车的型号和生产批次,更像是一本书籍的出版号,每一个版本都有不同的内容和修订记录。通过版本我们能更了解我们的产品,能保证产品的质量与可靠性,能更好的连接用户

为什么做?

通常觉得不需要,主要是两点:

- 项目不多。没有版本号,影响不大
- 人员不多。问题解决比较方便

一旦团队人数稍微上去一些,各种问题就接踵而至,代码冲突、文件丢失、版本覆盖、制品不一致等问题,让人心力憔悴。越发觉得版本的重要性

意义

有了版本管理,之前的问题,可以减少,或者不再出现。而且版本管理带来以下几个作用:

  1. 追溯: 每个版本的变化,了解软件从哪里来、经历了什么,fix也有迹可循
  2. 协作: 版本在内、外传递,保证大家工作的一致性
  3. 可控制:软件的质量和稳定性,可通过版本标记,以确保制品的稳定
  4. 统一:避免理解误差

如何做?

版本控制系统: 其实就是我们常用的Git、SVN等。但研发通常只用来做,团队的协同开发,并没有把版本带入进去。

分支管理: 主分支、开发分支、测试分支、发布分支等。

版本号管理: 结合CI,进行强制绑定

提交信息管理:DevOps 时,一定要做提交规范

具体规划

在了解了版本相关的知识后,做了如下操作。

明确目的

通过建立版本号申请流程,规避产线版本号不统一、版本号复用、不规范等问题。降低项目交付中的因为版本号引起的故障概率,提升git pipeline中流水线的效率

总结一下就是,解决以下几个问题,达到提升制品质量和交付质量的目的。

  1. 版本号不统一
  2. 版本号复用
  3. fix版本缺失
  4. 功能与版本不统一

制定原则

  1. 自动化

    降低误差,减少人员重复性操作,保证了工作的效率,避免了类似等待这种,无意义的时间消耗。

  2. 最少的改变

    尽量保持目前工作习惯,尽可能不要去做一些推倒性动作,避免工作受阻。

  3. 足够简单

    尽可能少的操作。过多的操作会影响整个流程效率以及工作的推进,落地困难。

确定方案

版本号申请
版本号申请
整体流程
整体流程

实施推进

  1. 研发流程
  2. 运维pipeline
  3. 开发管理平台

最终结果

版本申请统计
版本申请统计
应用统计
应用统计

总结

版本管理是软件开发中的重要环节,它可以帮助团队成员协同工作、管理代码和制品的变化、提高工作效率和质量。自动化部署和测试等都高度依赖版本管理。做好版本的管理,可谓是团队步入正轨的第一步。