软件产品版本管理
概述
版本管理,是对软件开发过程中特定功能的集合或特定代码构建结果进行管理。版本号是一个产品的表示,在一个产品的生命周期中具有唯一性。内部的版本管理可以帮助研发、测试、产品、工程等各部门对产品执行严格的定义,避免出现因版本不一致而造成沟通问题和项目延迟。
版本管理工具:
GITLAB
版本命名规则:
版本命名一般由三个部分组成,第一主版本号,第二次版本号,第三阶段版本号;
版本号修改规则:
主版本号为一个需求立项的项目版本号,主版本号一般在项目架构大改、整体改版或者累计功能较多时才会变更;主版本号加 1;主版本号一般由项目经理或者项目全体成员决定更改;
次版本号为一个项目需求迭代更改时进行变更,例如跑小二一期开发、数字党建三期开发等;主版本号不变,次版本号加 1,后面的版本号复位为 0;次版本号一般由项目经理或者项目全体成员决定更改;
阶段版本号为做了一些小功能修复和修改时进行变更,例如部分应用上下架、邀请函增加工作单位及职务字段等;阶段版本号一般由开发人员决定更改;
项目流程:
首先项目经理了解项目整体需求,梳理项目需求和目标;
产品经理根据项目需求和目标,进行原型设计;
根据原型做WBS(工作任务分解),分解后将需求分派给UI设计师,开发人员,测试人员,运维人员,预估项目开发时间、上线时间,通过语雀做项目进度计划,同时标注该项目的版本号;
项目开发测试通过之后,通知需求方验收;
通过验收之后,发布项目,通知需求方,并邮件通知全体成员。
分支管理:
1.master分支
存放的应该是随时可供在生产环境中部署的代码
当项目开发完成,并且通过测试和验收之后,需要将develop分支合并到master分支,再将master分支部署到正式环境。同时,每一次部署,都要标记版本号标签(TAG)。该分支,由管理员负责维护。
2.develop分支
develop分支是共有的开发分支
测试环境始终发布develop分支,开发人员需要将各自的feature分支合并至该分支,再将develop分支发布到测试环境。
分支命名:develop
3.feature分支
在开发一项新的软件功能的时候使用,这个分支上的代码变更最终合并回develop分支
分支命名:feature/分支说明-日期
例如:接到一个数字党建三期的开发任务,就从develop分支拉出一个分支,并命名为:featrue/digitalParty3-20220801。然后在该分支下进行开发,开发结束,将该分支合并至develop分支(此时的代码必须为可运行的,不能影响到他人),整体开发结束后删掉该feature分支。
开发人员的每一个新功能开发都应该在该类分支下进行。
生命周期:开发一个新功能开始,完成新功能开发并合并回develop分支结束。
4.hotfix分支
在master分支发现bug时,在master的分支上派生出一个hotfix分支,修改完成后,合并至master分支,合并完成,删除该hotfixes分支。
分支命名:hotfix/分支说明-日期
示例:hotfix/digitalPartyBug-20220801
生命周期:发现master分支bug开始,完成master分支bug结束。