制品版本管理
团队约 856 字大约 3 分钟
版本像是服装的款式和尺码,像是汽车的型号和生产批次,更像是一本书籍的出版号,每一个版本都有不同的内容和修订记录。通过版本我们能更了解我们的产品,能保证产品的质量与可靠性,能更好的连接用户
为什么做?
通常觉得不需要,主要是两点:
- 项目不多。没有版本号,影响不大
- 人员不多。问题解决比较方便
一旦团队人数稍微上去一些,各种问题就接踵而至,代码冲突、文件丢失、版本覆盖、制品不一致等问题,让人心力憔悴。越发觉得版本的重要性
意义
有了版本管理,之前的问题,可以减少,或者不再出现。而且版本管理带来以下几个作用:
- 追溯: 每个版本的变化,了解软件从哪里来、经历了什么,fix也有迹可循
- 协作: 版本在内、外传递,保证大家工作的一致性
- 可控制:软件的质量和稳定性,可通过版本标记,以确保制品的稳定
- 统一:避免理解误差
如何做?
版本控制系统: 其实就是我们常用的Git、SVN等。但研发通常只用来做,团队的协同开发,并没有把版本带入进去。
分支管理: 主分支、开发分支、测试分支、发布分支等。
版本号管理: 结合CI,进行强制绑定
提交信息管理:DevOps 时,一定要做提交规范
具体规划
在了解了版本相关的知识后,做了如下操作。
明确目的
通过建立版本号申请流程,规避产线版本号不统一、版本号复用、不规范等问题。降低项目交付中的因为版本号引起的故障概率,提升git pipeline中流水线的效率
总结一下就是,解决以下几个问题,达到提升制品质量和交付质量的目的。
- 版本号不统一
- 版本号复用
- fix版本缺失
- 功能与版本不统一
制定原则
自动化
降低误差,减少人员重复性操作,保证了工作的效率,避免了类似等待这种,无意义的时间消耗。
最少的改变
尽量保持目前工作习惯,尽可能不要去做一些推倒性动作,避免工作受阻。
足够简单
尽可能少的操作。过多的操作会影响整个流程效率以及工作的推进,落地困难。
确定方案
实施推进
- 研发流程
- 运维pipeline
- 开发管理平台
最终结果
总结
版本管理是软件开发中的重要环节,它可以帮助团队成员协同工作、管理代码和制品的变化、提高工作效率和质量。自动化部署和测试等都高度依赖版本管理。做好版本的管理,可谓是团队步入正轨的第一步。